나와 나와 동료가 새 프로젝트를 시작하고 TDD를 최대한 활용하려고합니다. 우리는 여전히 단위 테스트를 둘러싼 모든 개념을 파악하고 있으며, 다른 예제를 중심으로이를 기반으로합니다.단위 테스트 제약 조건과 NUnit 구문 도우미 이해
제 동료는 최근 NUnit 구문 헬퍼에 대해 의문을 제기했으며, 나는 (내 직감이 좋다는 것을 제외하고는 자신이 실제로 이해하지 못하기 때문에) 자신의 이점을 설명하기 위해 고심하고 있습니다.
Assert.That(product.IsValid(), Is.False);
이, 우리는 우리가 product.IsValid()
의 값이 false
될 것으로 기대 말을하는지 완전한 의미가 나에게 예를 들면 다음과 같습니다 주장이다. 내 동료는 다른 한편으로는 단순히 다음과 같이 작성하는 것이 더 좋을 것입니다.
Assert.That(!product.IsValid());
그는이 말이 더 의미가 있으며 더 쉽게 읽을 수 있다고 말합니다.
지금까지 우리가 동의 할 수있는 유일한 점은 테스트가 이전 테스트에서 실패했을 때 더 많은 도움이되는 결과를 얻을 수 있다는 것입니다. 그러나 더 나은 설명이 있어야한다고 생각합니다. 구문 도우미 (http://nunit.com/blogs/?p=44)에 대한 정보를 찾아 보았지만 이해할 만하지만 '느끼는 것'이외의 제약 조건 개념을 완전히 이해하지 못했습니다.
왜 누군가가 제약 개념을 사용하는지 설명 할 수 있을까요? 그리고 위의 단위 테스트 예제를 개선하는 이유는 무엇일까요?
감사합니다.
여기에 실제로 정교한 제약을 사용하는 예 http://geekswithblogs.net/mrsteve/archive/2012/02/13/writing-readable-unit-tests-clean-code-handbook-agile-software-craftsmanship.aspx –