[.net] Visual Studio 2015/2017/2019 Test Runner가 xUnit v2 테스트를 찾지 못하는 이유

업데이트 : 2019 추가; 디스커버리 / 런너 통합 메커니즘은 2017 및 2015와 동일하므로 잘못 될 수있는 주요 사항은 동일합니다.


xUnit 러너가 내 테스트를 찾지 못하는 이유를 읽었습니다. xUnit이 테스트를 찾지 못하는 이유를 다루지 만 내 문제는 다릅니다. 테스트에 미묘한 일이 없다고 확신합니다. (다른 환경에서 작업 한 결과 이것은 내 컴퓨터 인 것 같습니다)-Visual Studio 2015 [Community Edition]의 Visual Studio Test Runner 는 내 테스트 를 전혀 표시 하지 않습니다 . 나는 원격으로 흥미로운 일을하고 있지 않다. 테스트는 데스크탑의 xUnit.net v2를 대상으로합니다.

출력 창에서 보았으며 출력 결과 표시 탭의 테스트 에서 아무것도 보지 못했습니다 .



답변

  1. 문의에서 발견 예외를 제거하십시오. 출력 창 (Ctrl-Alt-O)으로 이동 한 다음 표시 출력을 드롭 다운 (Shift-Alt-S)에서 테스트로 전환 하고 발견 예외가 없는지 확인하십시오

  2. 테스트 | 테스트 설정 | 기본 프로세서 아키텍처 는 테스트가 x86 / x64 전용이고 검색이 Bittedness 관련 예외를 트리거하는 경우 (예 : AnyCpu가 아님) 도움이 될 수 있습니다

  3. 이 답변에서 제안한대로 (기술이 도움이된다면 그것을 피
    하십시오) 데스크탑 콘솔 러너 ( 명령어 )를 하는 것은 다른 가능성을 제거하기 위해 좋은 교차 점검이 될 수 있습니다 :

    packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>

    참고 xunit.runner.console패키지는 더 이상 사용되지 않습니다. VS에서 작업 할 때 dotnet testCI 컨텍스트에서도 실행할 수 있습니다.


설명서를 읽으십시오 -포괄적이며 최신이며 문제 해결 정보가 포함되어 있으며 PR이 필요합니다.

중요 사항 : 이전에 xUnit.net Visual Studio Runner VSIX (확장)를 설치 한 경우 먼저 제거해야합니다. Visual Studio 러너는 NuGet을 통해서만 배포됩니다. 그것을 제거하려면 이동 도구 > 확장 및 업데이트 하십시오 . 목록 맨 아래로 스크롤하여 xUnit.net이 설치되어 있으면 제거하십시오. Visual Studio를 다시 시작해야합니다.

테스트를 발견하거나 실행하는 데 문제가있는 경우 Visual Studio 내에서 손상된 러너 캐시의 희생자 일 수 있습니다. 이 캐시를 지우려면 Visual Studio의 모든 인스턴스를 종료 한 다음 폴더를 삭제하십시오.%TEMP%\VisualStudioTestExplorerExtensions . 또한 프로젝트가 단일 버전의 Visual Studio 러너 NuGet 패키지 ( xunit.runner.visualstudio) 에만 연결되어 있는지 확인하십시오 .

다음 단계가 나를 위해 일했습니다.

  1. (컴퓨터에 심각한 혼란이 있다고 생각되는 경우에만 일반적으로 Visual Studio 통합이 아직 설치되지 않은 경우가 더 일반적입니다)

    수행 DEL %TEMP%\VisualStudioTestExplorerExtensions조언으로 –

    PS> del $env:TEMP\VisualStudioTestExplorerExtensions

  2. xunit.runner.visualstudio모든 테스트 프로젝트에 NuGet 패키지 설치

    • 포장 :

      .paket\paket add nuget xunit.runner.visualstudio -i

      당신은 당신의 다음과 같이 끝나야합니다paket.dependencies :

      nuget xunit.runner.visualstudio version_in_path: true

      메모 version_in_path: true비트가 중요하다

    • Nuget : 패키지 관리자 콘솔 (Alt-T, N, O)로 이동하여

      Install-Package xunit.runner.visualstudio)

    xunit.runner출력 디렉토리에 끝나 도록 다시 빌드하십시오.

  3. 테스트 탐색기를 닫습니다 <-이것은 나를 위해 빠진 비트였습니다.

  4. 테스트 탐색기 다시 열기 (Alt-S, W, T)

  5. 모든 테스트 실행 (Ctrl R, A)


답변

테스트 프로젝트 CPU를 x64로 변경 한 후 테스트 설정을 변경해야했습니다. 그런 다음 테스트가 다시 감지되었습니다.

건축물


답변

위의 솔루션 중 어느 것도 나를 위해 일하지 않았습니다 (dotnetcore 1.1, VS2017). 다음은이를 해결 한 것입니다.

  1. NuGet 패키지 추가 Microsoft.TestPlatform.TestHost
  2. NuGet 패키지 추가 Microsoft.NET.Test.Sdk

이것들은 내가 이전에 설치 한이 패키지 들 에 추가됩니다 :

  • xunit (2.3.0-beta1-build3642)
  • xunit.runner.visualstudio (2.3.0-beta1-build1309)

답변

xunit.runner.visualstudio테스트 프로젝트를위한 패키지 설치


답변

다음 단계를 수행하십시오.

  1. MsTest.TestAdapterMsTest.TestFramework dll's에서 업데이트하십시오 nugget package manager.
  2. 솔루션 정리
  3. 솔루션을 구축하십시오.

답변

ASP Core 프로젝트 및 xUnit 2.2.0으로 작업하는 동안 오후 내내 어려움을 겪고 있습니다. 나를위한 해결책은Microsoft.DotNet.InternalAbstractions

테스트 프로젝트를 수동으로 실행하려고 시도 dotnet test했지만 실패했지만보고되지 않은 것으로 나타 InternalAbstractions났습니다. 자동 검색이 실패했을 때 테스트 출력 창에이 오류가 표시되지 않았습니다. 검색 창에서 내가 본 유일한 정보는 반환 코드로 당시에는 아무 의미가 없었지만 뒤늦게는 아마도 오류를 나타냅니다.


답변

그것은 나에게 두 번 일어났다. 프로젝트를 정리하고 다시 빌드하면 괜찮습니다.