내 NUnit 테스트가 나열된 순서와 다른 순서로 실행되는 이유는 무엇입니까?내 NUnit 테스트가 나열된 순서와 다른 순서로 실행되는 이유는 무엇입니까?
실행 순서는 무엇에 달려 있습니까?
내 NUnit 테스트가 나열된 순서와 다른 순서로 실행되는 이유는 무엇입니까?내 NUnit 테스트가 나열된 순서와 다른 순서로 실행되는 이유는 무엇입니까?
실행 순서는 무엇에 달려 있습니까?
러너가 테스트 어셈블리를 반영한 후 러너를 정렬하는 방법에 따라 다릅니다. 각 주자는 이것을 다르게 할 수 있습니다.
예를 들어, Reshaper의 러너는 알파벳순으로 실행됩니다.
그러나 여기서 중요한 문제는 NUnit 테스트에 순차적 인 규정이나 종속성이 없어야한다는 것입니다.
테스트를 다른 테스트에 의존해야하는 경우 MbUnit을 사용하십시오. This은 DependsOnAttribute를 사용하여 조명기 종속성의 예입니다.
모든 단위 테스트 러너는 테스트 픽스처 클래스를 반영하고 특정 속성이 적용된 (또는 일부 명명 규칙과 일치하는) 모든 메소드를 검색합니다. 이러한 메소드가 리턴되는 순서는 소스 파일에 지정된 순서에 의존하지 않으므로 정의 된 순서대로 수행 될 수 없습니다. 단위 테스트는 서로 독립적으로 실행되어야하기 때문에 이것은 문제가되지 않습니다.
사실 실행 명령을 이해하고 싶었습니다. 나는이 문제에 직면 한 후이 질문을하지 않을 것이다. 그리고, 그런데, @ 샌디 샌더스의 대답을 확인했습니다. 그건 진실이야. 테스트는 알파벳 순으로 실행됩니다. – anonymous
언급 한대로 알파벳순으로 실행됩니다. GUI NUnit 러너에서 테스트 DLL을 열면 순서가 표시됩니다.
그럼에도 불구하고 단위 테스트가 실행되는 순서는 이 아니고이되어야합니다. 단위 테스트는 이어야합니다. 및 은이므로 순서는 문제가되지 않습니다.
아아, 나는 실제로 질문에 답하거나 문제를 해결하지 않는이 모든 대답을 싫어한다. NUnit을 사용하여 일련의 통합 스타일 테스트를 실행하려면 어떻게해야합니까? 훌륭한 도구이지만 실행 순서를 제어 할 능력이없는 경우 가끔 있습니다. –
실제로 실행 명령을 이해하고 싶었습니다. 나는이 문제에 직면 한 후이 질문을하지 않을 것이다. – anonymous
@ JMSA - 대답은 "주자가 테스트 어셈블리를 반영한 후 주자를 정렬하는 방식에 달려 있습니다. 각 주자가 다르게 수행 할 수 있습니다". - 대답이 명확하게 업데이트 됨 –