2011-01-25 5 views
1

흥미로운 상황이 있습니다. 내 테스트 어셈블리에는 특정 테스트 클래스 (예 : TestFixture)가있는 폴더가 있습니다. 예를 들어, 고려, VS에서 다음 계층 구조 :큰 네임 스페이스의 일부로 실행될 때 nUnit 테스트가 실패합니다.

 
Sol 
    TestProject 
    TestFolder1 
     TestClass1 
     TestClass2 
    TestFolder2 
     TestClass3 

지금, 나는 명령 줄에서 다음을 실행하면

nunit-console.exe /run:Sol.TestProject.TestFolder1.TestClass2 TestProject.dll 

상황이 벌금을 실행하고 모든 테스트를 통과하고 있습니다. 하지만 아래의 경우 실행하십시오 :

nunit-console.exe /run:Sol.TestProject.TestFolder1 TestProject.dll 

이 경우 TestClass2의 일부 테스트가 실패합니다.

필자는 테스트와 관련된 일부 관련 객체의 상태를 덤핑하려고 시도했으며 두 경우 모두 상태가 테스트 코드의 시작 부분에 잘 보였습니다. 또한, TestClass1/2/3 뭔가 슈퍼 클래스가 없어 - 그래서뿐만 아니라 배제됩니다. 다른 아이디어는 여기서 무엇이있을 수 있습니까?

VS2010/.NET4.0 (4.0.30319.1)/nUnit 2.5.9를 사용 중입니다.

답변

0

마지막으로 알아 냈습니다. 나는 특정 옵션을 저장하기 위해 singleton class을 사용하고 있었다. 싱글 톤 클래스 인스턴스가 서로 다른 TestFixture (예 : 테스트 클래스)의 실행 사이에 유지되는 것처럼 보입니다 (예 : 폴더 또는 프로젝트의 경우). 싱글 톤 클래스가 각각의 TestFixtures에 대해 새로운 인스턴스를 가질 것이라고 생각했기 때문에이 객체의 상태를 초기에 덤프하지 않았습니다. 재미있는 발견은, 이것이 누군가를 돕기를 바랍니다.