[visual-studio] 테스트 탐색기에서 실행되지 않는 테스트

현재 현재 32 개의 Unittest가있는 솔루션을 개발 중입니다. 나는 resharper 테스트 러너와 함께 일해 왔습니다. 모든 테스트가 실행 중이고 모든 테스트에 올바른 테스트 결과가 표시됩니다. 이제 동료가 Visual Studio 테스트 탐색기를 사용하여 자신의 컴퓨터에서 테스트가 실행되고 있지 않다고 말했습니다. 그들은 내 컴퓨터에서 작동하지 않으므로 로컬 누락 파일이나 무언가를 제외시킬 수 있습니다.

테스트 탐색기에 모든 단위 테스트가 표시되지만 “모두 실행”을 클릭하면 모든 테스트가 회색으로 표시되고 테스트 실행 결과가 표시되지 않습니다.

여기에 이미지 설명을 입력하십시오

  • 모든 테스트 수업은 공개
  • 모든 테스트 클래스에는 [TestClass]속성이 선언되어 있습니다.
  • 모든 테스트 방법이 [TestMethod]속성을 사용하고 있습니다
  • 생산성 코드와 테스트 프로젝트는 모두 .NET 3.5를 대상으로합니다.
  • 나는 이미 정리 빌드에 내 솔루션을 시도, 및 / 또는 모두 삭제 한 obj, bin, DebugRelease폴더를

나는 그러한 행동을 유발할 수있는 힌트를 모욕했다.



답변

프로젝트가 모두 AnyCpu가 아닌 경우 다음 두 설정이 일치하는지 확인할 수도 있습니다.

  1. [오른쪽 클릭 테스트 프로젝트]-> 속성-> 빌드-> 플랫폼 대상-예 : x64

  2. [메인 메뉴]-> 테스트-> 테스트 설정-> 기본 프로세서 아키텍처-> X64

이들이 일치하지 않으면 테스트 프로젝트가 자동으로 실행되지 않습니다.


답변

VS 2017에서 동일한 문제가 발생했습니다. 제 경우에는 VS를 다시 시작하여 해결되었습니다.


답변

MSTest 대신 NUnit을 사용하는 경우 Visual Studio 2012/2013 용 NUnit 테스트 어댑터 확장 이 필요합니다 .


답변

void 대신 Task를 반환하도록 비동기 테스트 방법을 변경해야했습니다.

그런 다음 테스트가 테스트 탐색기에서 활성화되어 실행되었습니다.


답변

테스트가 작성된 프레임 워크 (예 : nunit, xunit, VS 테스트 등)를 확인하고 올바른 테스트 어댑터 / 런너 확장이 설치되어 있는지 확인하십시오.

나에게는 NUnit 3 테스트 어댑터가 없었고 nunit.framework 종속성 버전을보고 필요한 버전 번호를 확인했습니다 (솔루션 탐색기의 종속성 트리에서 .dll을 선택하고 F4를 눌러 속성 창을 불러 오십시오).


답변

TLDR : 테스트 패키지를 업데이트하고 출력-> 테스트 콘솔을 확인하십시오.

나는 하루 반 동안 이것으로 고투했다. 그래서 여기 내가 해결하기 위해 한 일이 있습니다.

조짐

  1. TestExplorer에서 모두 검색 가능한 5 가지 단위 테스트 프로젝트
  2. 5 개 중 2 개가 제대로 실행 됨
  3. 3 전혀 달리지 않는다는 진술
  4. .net 프레임 워크 업데이트 후 문제가 시작되었습니다.

조사

모든 패키지는 .net 프레임 워크 업데이트 중에 업데이트되었으므로 작업중인 프로젝트와 작동하지 않는 프로젝트의 차이점으로 시작했습니다. 첫 번째 단서는 3 가지 프로젝트가 모두 MSTest.TestAdapterMSTest.TestFramework를 사용 하고 있다는 것이 었습니다.

당연히 VS 2019 의-> 출력 콘솔 -> 테스트 드롭 다운 으로 이동 하여 출력을 보았습니다. 거기에 유용한 것은 없습니다.

솔루션 중 1 단계 : MSTest.TestAdapterMSTest.TestFramework 를 버전 2.0.0으로 업데이트하십시오.

솔루션의 두 번째 단계 : 이제 출력 콘솔 -> 테스트 드롭 다운 출력이 차례로 나타나고 누락 된 패키지와 잘못된 바인딩 리디렉션이 표시되기 시작했습니다.

솔루션의 3 단계 : 누락 된 패키지를 수동으로 추가하십시오. 나를 위해 그것들은

  1. System.Runtime.Extentions
  2. 시스템. 반사
  3. 어쩌면 내가 놓친 것보다 더

솔루션의 4 단계 : 불필요한 바인딩 리디렉션을 제거 / 수정했습니다.

이것이 다른 누군가를 도울 수 있기를 바랍니다.


답변

Clean-Rebuild 솔루션이 나를 위해 일했습니다.