[.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를 대상으로합니다.
출력 창에서 보았으며 출력 결과 표시 탭의 테스트 에서 아무것도 보지 못했습니다 .
답변
-
문의에서 발견 예외를 제거하십시오. 출력 창 (Ctrl-Alt-O)으로 이동 한 다음 표시 출력을 드롭 다운 (Shift-Alt-S)에서 테스트로 전환 하고 발견 예외가 없는지 확인하십시오
-
테스트 | 테스트 설정 | 기본 프로세서 아키텍처 는 테스트가 x86 / x64 전용이고 검색이 Bittedness 관련 예외를 트리거하는 경우 (예 : AnyCpu가 아님) 도움이 될 수 있습니다
-
이 답변에서 제안한대로 (기술이 도움이된다면 그것을 피
하십시오) 데스크탑 콘솔 러너 ( 명령어 )를 하는 것은 다른 가능성을 제거하기 위해 좋은 교차 점검이 될 수 있습니다 :packages\xunit.runner.console.2.2.0\tools\xunit.console <tests.dll>
참고
xunit.runner.console
패키지는 더 이상 사용되지 않습니다. VS에서 작업 할 때dotnet test
CI 컨텍스트에서도 실행할 수 있습니다.
설명서를 읽으십시오 -포괄적이며 최신이며 문제 해결 정보가 포함되어 있으며 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
) 에만 연결되어 있는지 확인하십시오 .
다음 단계가 나를 위해 일했습니다.
-
(컴퓨터에 심각한 혼란이 있다고 생각되는 경우에만 일반적으로 Visual Studio 통합이 아직 설치되지 않은 경우가 더 일반적입니다)
수행
DEL %TEMP%\VisualStudioTestExplorerExtensions
조언으로 –PS> del $env:TEMP\VisualStudioTestExplorerExtensions
-
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
출력 디렉토리에 끝나 도록 다시 빌드하십시오. -
-
테스트 탐색기를 닫습니다 <-이것은 나를 위해 빠진 비트였습니다.
-
테스트 탐색기 다시 열기 (Alt-S, W, T)
-
모든 테스트 실행 (Ctrl R, A)
답변
답변
위의 솔루션 중 어느 것도 나를 위해 일하지 않았습니다 (dotnetcore 1.1, VS2017). 다음은이를 해결 한 것입니다.
- NuGet 패키지 추가
Microsoft.TestPlatform.TestHost
- NuGet 패키지 추가
Microsoft.NET.Test.Sdk
이것들은 내가 이전에 설치 한이 패키지 들 에 추가됩니다 :
- xunit (2.3.0-beta1-build3642)
- xunit.runner.visualstudio (2.3.0-beta1-build1309)
답변
xunit.runner.visualstudio
테스트 프로젝트를위한 패키지 설치
답변
다음 단계를 수행하십시오.
MsTest.TestAdapter
및MsTest.TestFramework
dll's
에서 업데이트하십시오nugget package manager
.- 솔루션 정리
- 솔루션을 구축하십시오.
답변
ASP Core 프로젝트 및 xUnit 2.2.0으로 작업하는 동안 오후 내내 어려움을 겪고 있습니다. 나를위한 해결책은Microsoft.DotNet.InternalAbstractions
테스트 프로젝트를 수동으로 실행하려고 시도 dotnet test
했지만 실패했지만보고되지 않은 것으로 나타 InternalAbstractions
났습니다. 자동 검색이 실패했을 때 테스트 출력 창에이 오류가 표시되지 않았습니다. 검색 창에서 내가 본 유일한 정보는 반환 코드로 당시에는 아무 의미가 없었지만 뒤늦게는 아마도 오류를 나타냅니다.
답변
그것은 나에게 두 번 일어났다. 프로젝트를 정리하고 다시 빌드하면 괜찮습니다.