이 위대한 게시물에 대한 의견 에서 Roy Osherove 는 각 테스트를 단일 테스트로 실행하도록 설계된 OAPT 프로젝트를 언급했습니다 .
다음은 프로젝트 홈페이지에 작성되었습니다.
적절한 단위 테스트는 정확히 한 가지 이유로 실패 해야하므로 단위 테스트 당 하나의 어설 션을 사용해야합니다.
또한 Roy는 다음과 같이 논평했습니다.
내 지침은 일반적으로 테스트 당 하나의 논리적 개념을 테스트하는 것입니다. 동일한 객체 에 대해 여러 개의 어설 션을 가질 수 있습니다 . 그것들은 보통 테스트되는 것과 같은 개념 일 것입니다.
나는 여러 가지 주장이 필요한 경우가 있다고 생각 하지만 (예 : Guard Assertion ) 일반적으로 이것을 피하려고합니다. 당신의 의견 것입니다? 여러 개의 어설 션이 실제로 필요한 실제 예제를 제공하십시오 .
RowTest
(MbUnit) / TestCase
(NUnit) 대신 여러 어설 션이 사용되는 경우를 보았습니다 . 작업에 적합한 도구를 사용하십시오! (불행히도 MSTest는 아직 행 테스트 기능이없는 것 같습니다.)
RowTest
와 유사한 기능을 TestCase
사용하고 테스트 데이터 소스를 사용할 수 있습니다 . 성공적인 CSV 파일을 사용하고 있습니다.