2014-09-04 4 views
0

하나의 파일에 30 개 이상의 테스트 컬렉션이 있으며 개별 테스트로 Visual Studio에서 MSTest를 사용하여 실행하고 있습니다. 나는 오늘 그러나 이상한 벌레를 알아 차렸다. 그것은 내가 테스트를 실행할 때 자신의 것입니다 그 테스트와 동일한 루트 이름을 공유하는 다른 모든 테스트도 실행됩니다.유사한 이름을 가진 여러 테스트를 실행하는 VS에서 MSTest

예를 들어 TestAddClaim을 실행하면 TestAddClaimWrongID 및 TestAddClaimWrong EnrollmentAction도 실행됩니다. 마찬가지로 TestAddGroupContact를 실행하면 TestAddGroupContactWrongGroupID도 실행 된 후 실행됩니다.

이 것이 알려진 문제입니까?

나는이 문제를 방지하기 위해 모든 테스트에 번호를 미리 할당 할 것입니다. 더 나은 해결책이 있습니까?

+0

이것은 절대로 나에게 일어난 일이 아닙니다. 어떤 버전을 사용하고 있습니까? – nvoigt

+0

이것은 나에게도 발생하지 않습니다. 그렇더라도 다음과 같은 형식으로 테스트 메소드의 이름을 변경해야합니다. MethodTesting_Condition_ExpectedOutcome (예 : AddClaim_WrongId_ThrowsException, AddClaim_ValidInput_ReturnsTrue). 처음 읽은 곳을 기억할 수는 없지만, 각 테스트의 의도를 매우 명확하게 식별하고 오랫동안 오랫동안 유지 보수 할 수있게하는 방법입니다. 또한 문제를 해결해야합니다. – Adam47

+0

테스트를 어떻게 실행하고 있습니까? IDE에서 어떤 버전입니까? 명령 줄에서 어떤 명령을 사용하고 있습니까? –

답변

0

하나의 명령으로 여러 테스트를 실행할 수 있도록 설계된 디자인입니다. 단점은 한 명령으로 실수로 여러 테스트를 실행하는 결과를 초래한다는 것입니다. https://msdn.microsoft.com/en-us/library/ms182489.aspx

도 테스트했지만 다른 테스트 목록에 나와 테스트 특성이 다르므로 "/ category"를 사용하여 특정 특성이있는 테스트로 실행을 제한했습니다. "/ testlist"를 사용하여 특정 정렬 된 테스트 목록의 테스트 만 지정할 수도 있습니다.

관련 문제