nunit - 사용법 - TestClass 대신 testFixture를 사용해야하는 이유는 무엇입니까?




using nunit (2)

나는 Mike Two의 응답을 존중하지만, NUnit 팀이 이것을 잘못 알고 있다고 주장 할 것이고 [TestFixture] 의 사용은 NUnit의 얼굴에있는 시맨틱 한 사마귀 다. 테스트 클래스는 정착물이 아닙니다 . 내가 JUnit에 관해 파헤친 것에서부터 테스트 클래스에 대한 참조를 테스트 픽스처로 찾지 못했고 테스트 클래스를 참조하는 "테스트 픽스처"에 대해 많은 논의를 찾지 못했습니다. 오히려, 조명기에 관한 모든 JUnit / xUnit 토론은 실제 테스트 픽스처를 설정하는 데 사용되는 일반적인 방법 인 설정 및 분해와 관련됩니다.

NUnit 2.5에서는 [TestFixture] 주석을 제거 할 수 있습니다.

업데이트 : (2012 년 7 월)

저는 Cucumber Book을 읽는 중이었습니다. 99 페이지의 저자 Matt Wynne은 "fixture"사용의 기원을 설명합니다. 나는 인용한다 :

테스트 시스템과 테스트중인 시스템 사이의 연결 고리를 호출하는 오랜 전통이 있습니다 (테스트 설비가 시작된 하드웨어 세계에서 나옵니다). 이것은이 책에서 자동화 코드로 언급 한 "접착제 코드"역할입니다. FIT 테스트 프레임 워크는이 용어의 의미를 사용합니다. NUnit과 같은 일부 단위 테스트 도구는 테스트 케이스 클래스 자체를 픽스처로 참조하여이 문제를 혼란스럽게합니다. 유비쿼터스 언어를위한 많은 것들! (Wynne & Hellesoy, 2012)

단위 테스트를 구성하는 세 가지 방법이 있습니다 : Fixture, Class 또는 Feature 테스트. 그러나 TestClass의 NUnit 속성은 TestFixture입니다. 역사적인 이유가 있습니까?


이제 당신이 그것에 대해 물어 보았습니다. 나는 그것을 찾았습니다.
테스트 픽스쳐는 테스트가 실행되기 전에 설정되어야하는 고정 된 기준 상태이므로 결과를 예측 가능하고 반복 가능하도록 만듭니다. 단위 테스트 프레임 워크에서는 SetUp 및 TearDown 속성 / 메소드를 사용하여 테스트 픽스처를 작성 / 제거합니다 (예 : 올바른 객체로 인스턴스 변수 초기화).