VS 2017을 설치한 이후로 어려움을 겪고 있습니다. 이제 유닛 테스트는 명령줄
제 프로젝트는 .NET Core 1.1.1입니다. 1.1.1용 SDK와 프레임워크 업데이트가 설치되어 있습니다.
MSDN(https://msdn.microsoft.com/en-us/library/ms182532.aspx)에서 샘플을 시도했지만 똑같은 방식으로 실패합니다.
테스트 및 메인 프로젝트를위한 모든 NuGet 패키지는 최신 버전입니다. 그리고 테스트 프로젝트와 메인 프로젝트 모두 오류 없이 빌드됩니다. 테스트는 명령줄에서 성공적으로 실행됩니다.
VS 2017에서 유닛 테스트를 실행할 수 있는 방법이 있나요?
고마워요, John
다음은 GitHub에서 작동하지 않는 간단한 테스트 프로젝트의 예입니다. 이것은 xUnit을 사용한 예제이지만 MS 테스트에 내장된 NUnit과 비주얼 스튜디오를 사용해 보았습니다. 어떤 테스트를 수행하거나 어떤 변경을 수행해도 VS 테스트 러너가 테스트를 찾을 수 없습니다.
내가 시도한 것 ####
DEL %TEMP%\VisualStudioTestExplorerExtensions
삭제하기Microsoft.DotNet.InternalAbstractions
가 설치된 경우 (SO 게시물 참조)질문 질문 누구든지 VS 테스트 탐색기가 단위 테스트를 성공적으로 찾는 VS2017 (.csproj 프로젝트 파일)에서 .Net Core 1.1.0 솔루션의 작동 예제를 제공하거나 주어진 예제에서 문제를 보여 주실 수 있습니까?
API 에 대한 테스트에 대한 어댑터.NET 핵심으로 변경 Visual Studio 릴리스 2017 고 이동이에서 프로젝트입니다.json
형식의csproj
형식입니다. 이들은 기존dotnet-테스트-*
어댑터 같은dotnet-테스트-nunit
사용되지 않습니다.
어댑터 업데이트되었지만,그 방법은 당신이 설정과 실행에서 테스트를 Visual Studio 나인dotnet 테스트 요구합니다 다른 참 테스트에서 프로젝트입니다. **주의**의 모든 문서를 찾을 참조하는 패키지에서
dotnet-테스트-*`형식이기 때문에 그들은 오래되었습니다.
첫째,의 시험 프로젝트를 대상으로 해야 합 특정 플랫폼,중 하나입니다.순 코어 또는.NET Framework. 할 수 없는 대상입니다.NET 기준는 경우에도 코드를 테스트입니다.NET 표준입니다. 기 때문에 이것은 대상의 테스트를 나타내는 플랫폼을 실행하는 테스트이다. .NET 표준은 다음과 같 PCL(휴대용 클래스 라이브러리)할 수 있다는 점에서에서 실행되는 많은 플랫폼입니다.
다음으로,당신은 참조를 추가하려면Microsoft.NET.테스트입니다.Sdk
,테스트 framework 의 선택 및 호환성을 테스트합니다. 에 대한 NUnit,당신의 참고를 다음과 같이 보일 것입니다,
<itemgroup>
<packagereference Include="Microsoft.NET.Test.Sdk" Version="15.0.0"></packagereference>
<packagereference Include="NUnit" Version="3.7.1"></packagereference>
<packagereference Include="NUnit3TestAdapter" Version="3.8.0"></packagereference>
</itemgroup>
코멘트 위에 언급,추가
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
이것이't 엄격히 필요 하지만 도움이 될 수 있습니다. 그것은 자동으로 추가 모든 단위는 테스트 프로젝트를 Visual Studio 도움을 신속하게 프로젝트를 찾을 수 있으로 테스트합니다.
는 경우에 당신의 테스트 don't 에 나타나 Visual Studio,최초 시도하는 것입니다 폐쇄 솔루션 및 다음 다시 열니다. 가 나타나 버그를 Visual Studio 에서 감지하지 못하고 있음을 변경하는 프로젝트를 편집합니다.
나는 같은 문제가 있었고 그것을 얻게 작업을 수행하여 다음과 같은..:
-처음 열려 있는 모든 Visual Studio 에서 인스턴스와 이 폴더를 삭제:%TEMP%\VisualStudioTestExplorerExtensions.(실행하는 테스트를 Visual Studio) -이 Nuget 패키지 관리자가 설치 Microsoft.NET.테스트입니다.Sdk(15.3.0-미리보기-20170425-07)먼저 설치한 다음 버전.주자입니다.visual studio(2.3.0-beta1-build1309). 첨부 Nuget 하는지 확인하기 위해 스크린 샷 모든 패키지를 설치했을 대 2017 년을 검색하 테스트합니다.
잊을 테스트 클래스공공방지's 의 테스트 방법 안쪽에 발견
나는 기본 버전은 프로젝트 및 삭제 샘플 UnitTest1.cs 교체,컨트롤러 테스트 클래스의 부부와 함께,테스트,하지만 아무도 발견되었다
Long story short,후 업데이트 버전,테스트입니다.Sdk,버전.러너 패키지를 다시 프로젝트가 발생하는 오류를 구축:
Error xUnit1000 테스트 수업이어야 합 공개
다행히 업데이트 버전을 던졌고 이 예외를 예비 나는 몇 가지 문제
수정 테스트 클래스가 공개되는 것을 수정 나의 문제
나는 문제에 대 2017 찾기 내 unittest 에 대한 여러니다. 그것이 아니었't 한 정확한 문제 요한을 묻다-하지만 이것이 첫 번째 결과는 나왔고 그래서 내가 공유하고 싶었고 내 문제입니다.
I had a legacy 솔루션에서 돌아 오는 VS2010 가 VS2013,VS2015. 지금 VS2017 것에 대한 네임스페이스[TestMethod]
특성이 변경되었습니다.
기 전에 그것을 사용하여
Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0
나는 새로운 생성 Test.dll 프로젝트에서는 기본적으로 사용되는
Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0
그래서 나의 솔루션을 만드는 것이었 unittest 에 대한 여러 새로운 프로젝트에서 VS2017. 어쩌면 변경 어셈블리에 대한 참조를 오래 된 시험 프로젝트로 일했습니다. 새로운 참조 VS2017 발견했 그 단위 테스트를 확인할 수 있습니다
확실히 당신을 사용하여 올바른 Microsoft.NET.테스트입니다.Sdk:
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
를 사용하지 않는 사전 공개 하나입니다. 거나 변경하려면 콘솔 응용 프로그램(지 않은 라이브러리). 나는 이와 유사한 문제이지만,최신 버전으로(15.0.0)그것은 다시 작동을 시작합니다.
또한,추가해야 할 수도 있습니다:
<ItemGroup>
<Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" />
</ItemGroup>
그러나 나는 생각하지 않습니 nessesary.
내가 알고 있는 OP 은 나이에 자신의 체크리스트,하지만 그것이's 쉽게 바라보는 시점을 하고 있는 동안 깨끗한 설치하고 Visual Studio2017 년 설정하는 새로운 프로젝트입니다. 그 외에도에서NUnit 프로젝트 템플릿NUnit Framework을 설치해야 NUnit 어댑터는 별도로,예를 들어,사용 NuGet 명령설치 패키지 NUnit3TestAdapter 버전 3.9.0
. 그 후 Visual Studio 커뮤니티 2017 년을 발견하기 시작 단위 테스트 없이 문제입니다.
나의 케이스에서 테스트를 탐험 할 수't find my 테스 후 나는 이동 프로젝트를 새로운 솔루션입니다.
대답은 단순히 내가 참조하여 구 MS 테스트 어댑터 내에서 프로젝트입니다.
나의 중복을 줄을 아래를 위해 버전 1.1.11MS 테스트 어댑터에서 내 cs.proj file:
<Import 프로젝트="..\패키지\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.소"Condition="Exists('..\packages\MSTest.TestAdapter.1.1.18\build\net45\MSTest.TestAdapter.props')"/>
이 문제를 해결하
맨 위에 답변하지 않았다 나를 위해 일(을 다시 시작,업데이트 버전 1.1.18...이미 업데이트,삭제 temp 파일,clearning NuGet 캐시 etc.).
내가 무엇을 발견했다는 서로 다른 참MSTest.TestAdapter과MSTest.Framework에 다른 시험 프로젝트(나 솔루션에는 두). 하나는 지 1.1.18 다.
패키지가 있습니다.config
<package id="MSTest.TestAdapter" version="1.1.18" targetFramework="net461" />
<package id="MSTest.TestFramework" version="1.1.18" targetFramework="net461" />
...하지만 다른 참조하 1.1.11. 응답의 일부상으로 이어질이 발견할 때의 두 가지 버전은 라이브러리를 나타났다 내 temp 디렉터리(%TEMP%\VisualStudioTestExplorerExtensions\)를 다시 시작한 후 Visual Studio.
단순히 업데이트 내 packages.config1.1.18 버전은 무엇이스 단위의 테스트 기능에 대. 그것은 나타나 있다는 것을 몇 가지 버그를 허용하지 않는 side-by-side 참조 MSTest 라이브러리입니다. 당신을 도움이되기를 바랍니다.
추가 정보:
-Visual Studio2017 년 이비인후과:15.5.6(나서 업데이트 15.0.1 희망으로 이 문제를 해결이 있었는데 그것은 모두에서)