Visual Studio 2015 또는 2017에서 단위 테스트를 찾지 못함


165

2016-10-19 편집 :

원래 질문은 XUnit 테스트 러너의 VS2015 CTP6 관련 문제에 관한 것입니다. 여러 가지 상황에서 발생할 수있는 Visual Studio의 단위 테스트 검색과 관련하여 훨씬 광범위한 문제가 있음을 알 수 있습니다. 나는 그것을 반영하기 위해 내 질문을 정리했다.

나는 또한 비슷한 문제가 나타날 때 오늘날에도 여전히 사용하는 스크립트를 내 대답에 포함시켰다.

다른 많은 답변도 VS 테스트 러너의 복잡성을 더 잘 이해하는 데 도움이되는 것으로 입증되었습니다. 사람들이 여전히 솔루션을 공유하고 있다는 점에 감사드립니다!


원래 질문 2015-04-10 :

어제부터 Visual Studio Test Explorer는 내 프로젝트에 대한 테스트를 찾지 않습니다. 건물 후 녹색 로딩 바도 표시되지 않습니다.

Visual Studio 테스트 탐색기로 이동하여 "모두 실행"을 클릭하거나 테스트 방법을 마우스 오른쪽 단추로 클릭하고 "테스트 실행"을 선택하면 출력 창에 다음이 표시됩니다.

Could not load file or assembly 'Microsoft.VisualStudio.Web.ProjectSystem, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

나는 윈도우 10에서 Visual Studio 2015 CTP 6를 실행하고 프로 기술 미리보기, 10041. 닷넷 프레임 워크 버전은 상관하지 않는 것 빌드 - 그것의 발생 4.0, 4.5.24.6.

다음 테스트 프레임 워크를 사용해 보았고 모두 동일한 동작을 제공합니다.

  • Microsoft.VisualStudio.QualityTools.UnitTestFramework v14.0.22609.0
  • xunit v2.1.0-beta1-build2945xunit.runner.visualstudio v2.1.0-beta1-build1051
  • NUnit v2.6.4NUnitTestAdapter v2.0.0

비슷한 것으로 보이는 GitHub (xunit)에서 문제를 발견 했습니다 : xunit 팀 의이 의견으로 # 295 발견 된 테스트를 얻을 수 없습니다 :

Visual Studio 2015 CTP 5는 xUnit.net뿐만 아니라 일반적으로 단위 테스트를 수행하는 많은 사람들에 의해 중단 된 것으로보고되었으므로 작동하지 않을 것으로 예상됩니다.

또한 Visual Studio의 러너 캐시를 정리했는지 확인하십시오. 손상된 경우 Visual Studio는 삭제 될 때까지 영구적으로 오작동합니다. 캐시를 지우려면 Visual Studio의 모든 인스턴스를 종료 한 다음 % TEMP % \ VisualStudioTestExplorerExtensions 폴더를 삭제하십시오 (정직하게도 % TEMP %에서 삭제할 수있는 모든 항목을 삭제해도 손상되지는 않습니다).

폴더를 삭제하라는 제안을 시도했습니다 %TEMP%\VisualStudioTestExplorerExtensions. 불행히도 문제가 해결되지 않았습니다.

나는 ReSharper에서 실제로 것으로 나타났습니다 입니다 몇 가지 테스트를 발견 할 수. xunit이 아닌 VS 및 NUnit 테스트에서만 작동합니다.

정리해야 할 일종의 임시 또는 캐시 폴더가 있어야하지만 Visual Studio에는 많은 폴더가 있으며 원하지 않는 부작용없이 삭제할 수있는 것은 아닙니다.


3
나는 이것을 우연히 발견하게되어 기쁘다. 왜 써드 파티 테스트 러너 (내 경우에는 ncrunch)를 사용하고 있는지 상기시킨다. 비슷한 이유로 오랜 시간 전에 mstest를 포기했습니다. 당신이 mstest에 갇혀 있다면 물론, 그것은 해결책이 아닙니다 ...
Abel


VS 2017을 사용하면 믿을 수 없을 정도로 충분합니다. 내 임시 및 localappdata VS2017 관련 폴더를 정리하고 닫기 + 다시로드 + 정리 솔루션 및 Windows 재부팅이 도움이되지 않았습니다. 그러나 놀랍게도 내 테스트 프로젝트 중 하나에 대한 간단한 "언로드-다시로드"프로젝트가 테스트 발견이 중단되는 데 도움이되었습니다. 타사 단위 테스트 패키지를 사용하지 않습니다.
Pac0

일부 ppl의 경우 이것은 흥미
hB0

이것은 누군가를위한
수정일

답변:


154

놀랍게도 %TEMP%디렉토리 에있는 임시 파일을 지우면 문제가 해결되었습니다.

참고 :이 경로는 일반적으로 C:\Users\(yourusername)\AppData\Local\Temp

@ Warren-P가 포함되어 있으므로 %temp%시작 메뉴에 넣거나 "파일 탐색기"를 시작 %temp%하여 주소 표시 줄에 입력 하여 임시 폴더로 이동할 수 있습니다 .


30
또는 %TEMP%Start Run 메뉴에 입력하면 temp 값이 무엇인지 짐작하지 않고 temp 폴더를 찾습니다.
Warren P

65
@ ZéCarlos %TEMP%디렉토리에 중요한 데이터를 저장하는 응용 프로그램은 작동을 중지해야합니다.
Mark Pattison

25
당황하지 말고, 1000 달러 이상의 IDE를 계속 실행하기 위해 그렇게 우스운 조치를 취해야하는 것은 Microsoft의 완전한 실패입니다.
MushyPeas 2012 년

8
VS2017에서도 나를 위해 일했습니다!
Lorentz Vedeler

6
전체 temp 디렉토리를 지우는 것이 우려되는 경우 Temp \ VisualStudioTestExplorerExtensions 하위 디렉토리를 지우는 것만으로 문제가 해결되는 것 같습니다.
Mike Walsh

90

코드가 x64로 컴파일되어 기본 프로세서 아키텍처를 X64로 활성화해야 할 수 있습니다.

Test > Test Settings > Default Processor Architecture > X64

3
이것은 몇 번 물렸다. 이 몇 년이 지난 후에도 여전히 기본적으로 테스트 설정이 프로젝트의 현재 빌드 구성과 자동으로 일치하도록 선택되지 않은 좋은 이유를 생각할 수 없습니다. 나에게 무의미한 복제 구성처럼 보입니다.
Neutrino

1
Windows 업데이트 및 / 또는 VS 업데이트는 사용자에게 알리지 않고 기본 아키텍처를 변경합니다 .... aaargh
rupweb

그리고 4 년이 지난 후에도 여전히 도움이됩니다. 감사합니다
Oscar O.

67
  • NUnit 테스트 어댑터 2/3 가 VisualStudio에 설치되어 있는지 확인하십시오 .
    (Tools>Extensions and Updates )

  • 올바른 프로세서 아키텍처가 선택되어 있는지 확인하십시오.
    (Test>Test Settings>Default Processor Architecture)


2
이것이 마침내 나를 위해 일한 것입니다. 다른 모든 것을 시도한 후.
BradStell

확장 프로그램이 설치되어 있지 않은 경우 먼저 임시 폴더를 파헤치는 바보 같은 느낌을줍니다. 이것을 게시 해 주셔서 감사합니다.
NightOwl888

2
또한 올바른 확장자를 사용하고 있는지 확인하십시오. NUnit 2.x와 NUnit 3.x에는 별도의 것이 있습니다.
pmbanka

1
.NET Standard를 대상으로하는 경우 실제로 VSIX 확장 대신 NuGet 패키지 NUnit 테스트 어댑터 를 설치해야합니다 .github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
m93a

VSIX 대신 nuget에서 NUnit3TestAdapter를 가져 오십시오. 즉, 더 나은 방법입니다
ravella

33

2016-10-19 (PowerShell 스크립트) 편집

이 문제는 여전히 그렇습니다. 필자는 관련 캐시 / 임시 폴더 / 파일을 자동으로 지우는 작은 PowerShell 스 니펫을 작성했습니다. 장래 독자들을 위해 여기에서 공유하고 있습니다.

@(
"$env:TEMP"
"$env:LOCALAPPDATA\Microsoft\UnitTest"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ComponentModelCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\Designer\ShadowCache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio\14.0\ImageLibrary\cache"
"$env:LOCALAPPDATA\Microsoft\VisualStudio Services\6.0\Cache"
"$env:LOCALAPPDATA\Microsoft\WebsiteCache"
"$env:LOCALAPPDATA\NuGet\Cache"
) |% { Remove-Item -Path $_ -Recurse -Force }

미리 Visual Studio를 닫고 나중에 재부팅하는 것이 좋습니다.

TEMP 폴더를 삭제하는 것은 필요하지 않을 수 있으며 경우에 따라 바람직하지 않을 수도 있으므로 TEMP 폴더를 먼저 지우지 않고 시도해 보는 것이 좋습니다. 그냥 생략"$env:TEMP" .

원래 답변 2015-04-12

Visual Studio 관련 temp / cache 폴더를 철저하게 정리 한 후에 문제가 "해결되었습니다".

모든 것을 하나씩 살펴보고 그 사이를 테스트 할 시간이 없었기 때문에 불행히도 실제로 어떤 문제가 발생했는지 알 수 없습니다.

다음은 내가 수행 한 정확한 단계입니다.

  1. 닫힌 Visual Studio
  2. 시스템 및 브라우저를 지우는 데 CCleaner 사용 temp 파일 / 폴더
  3. 다음 파일 / 폴더를 수동으로 지우거나 삭제했습니다.

    • %USERPROFILE%\AppData\Local\assembly
    • %USERPROFILE%\AppData\Local\Microsoft\UnitTest
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\SpecificFolderCache.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\1033\ProjectTemplateMRU.xml
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\Designer\ShadowCache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\14.0\ImageLibrary\cache
    • %USERPROFILE%\AppData\Local\Microsoft\VisualStudio Services\6.0\Cache
    • %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache
    • %USERPROFILE%\AppData\Local\NuGet\Cache
    • %USERPROFILE%\AppData\Local\Temp

감사합니다. 설명하는 Microsoft \ VisualStudio \ 14.0 \ 및 Microsoft \ VisualStudio Services \ 6.0 \ Cache 폴더를 지우고 나에게 도움이되었습니다.
Niels van Reijmersdal

확실 \Microsoft\VisualStudio\14.0\ImageLibrary\ImageLibrary.cache합니까?
Mateen Ulhaq

2
완벽하게 everywhing 작품을 나는 %의 TEMP % 이상 제거 모든 것을 가지고 그 일을하지 않습니다,하지만 난 다시 추가 할 때 'VisualStudioTestExplorerExtensions'디렉토리 (빈) :-) (가 현재 하루에 바닥에 그 솔루션 anserw)
nilphilus

이 솔루션이 VS2015 업데이트 3 및 Resharper 10과 함께 작동하는지 확인하고 싶습니다. 그러나 기적을 보려면 다시 시작해야합니다
Quoc Nguyen

1
\ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFolderCache.xml 파일 하나만 삭제
Serhii Kuzmychov

21

이 문제의 한 가지 이유는 테스트 클래스가 공개되지 않기 때문입니다. MSTest는 공개 클래스의 테스트 만 검색합니다.


1
이것이 100 % 정확하지는 않지만 비공개 클래스가 정상적으로 작동하지만 어느 시점에서 단위 테스트가 작동을 멈췄습니다. 단위 테스트 클래스를 공개로 변경하면 다시 작동하기 시작했습니다. 그림을 이동!
SashaArz

이것은 나를 위해 해결했습니다. 기본적으로 Visual Studio는 public 키워드없이 테스트 클래스를 추가하며 공개 할 때까지 표시되지 않습니다.
Marc Fearby

13

당신이 테스트 탐색기에서 테스트를 연결하려는 경우 비주얼 스튜디오 2015 (업데이트 3)에서 다음 설치해야 NUnit과 테스트 어댑터 .Download에게에서 어댑터 도구 -> 확장 및 Updates->를 온라인 탭 (당신은 어댑터를 검색 할 수 있습니다 )-> 다운로드 . Visual Studio를 다시 시작하면 테스트 프레임 워크의 변경 사항을 볼 수 있습니다.


2
귀하의 지시에 따라 "nunit"을 검색하여 "Download"(설치) 후 문제를 해결 한 "NUnit 3 Test Adapter"를 찾았습니다. 이 문제에 대해 인터넷을 검색하면 링크
Adam Cox

이것은 구성 파일을 변경하지 않기 때문에 Nuget 패키지 관리자보다 낫습니다
GY_

1
@GY_하지만 .NET Core 또는 Standard를 대상으로 할 때는 실제로 NuGet 패키지가 필요합니다. 아래 답변을 확인하십시오. stackoverflow.com/a/47460221/1137334
m93a 18:49의

내 생명을 구해! 고마워, 나는 많은 솔루션을 시도했지만 작동하지 않았다. 광산은 Google 테스트 어댑터였습니다.
Erman

9

나는 이것에 대한 완전한 대답을 얻지 못했지만 테스트 프로젝트를 가지고 노는 것에 의해 몇 가지 사항을 결정했습니다.

  1. xunit.runner.aspnet : 2.0.0-aspnet-beta4공식 beta4의 aspnet5 방출이 나타납니다 될 수 있다는 부분은 Visual Studio에서 작동하지 않습니다.
  2. 대신 사용 "xunit": "2.1.0-*""xunit-runner.dnx": "2.1.0-*"패키지 DO는 Visual Studio에서 작동합니다.
  3. VS가 테스트를 발견하려면 프로젝트에 "xunit.runner.dnx"를 실행하는 "test"라는 단일 명령이 있어야합니다. 추가 명령을 추가하면 명령이 중단 될 수 있습니다.
  4. 테스트 탐색기 창이 여전히 비어 있으면 프로젝트에서 "test"명령을 제거한 다음 솔루션을 다시 빌드 한 다음 "test"명령을 project.json에 다시 추가하십시오.
  5. @ Fred-Kleuver의 제안에 따라 모든 캐시를 지우는 것이 도움이 될 수 있지만 모든 단계를 분리하지는 않았으므로 확실하지 않습니다.

이는 데일리 스가 아닌 베타 4 릴리스를 사용하는 VS 2015 CTP 6에 따라 최신 상태입니다.


1
좋아, 나는 (동료가 그것을 시도함으로써) 위의 수정이 캐시 또는 임시 파일을 지우지 않아도된다는 것을 확인했다.
Avi Cherry

위에서 "대신"xunit "사용 :"2.1.0- "및"xunit-runner.dnx ":"2.1.0- "패키지는 Visual Studio에서 작동합니다." 고마워요!
Gillardo

후속 조치로 Btw는 현재 릴리스 기준으로 VS 2015에서 모든 것이 잘 작동하는 것 같습니다. 새로운 테스트를 받기 위해 소란을 피우지 않아도됩니다.
Avi Cherry

1
마지막으로, 이제 어떤 버전의 xunit이 어떤 DNX 버전과 함께 사용되는지에 대한 MS의 올바른 안내서가 있습니다. xunit.github.io/docs/getting-started-dnx.html
Avi Cherry

9

async다음과 같이 테스트했기 때문에 일부 테스트를 수행하지 못하는 경우가있었습니다 .

public async void This_IsMy_UnitTest()

문제는 전환을 할 때가 Task아니라 a를 반환하는 것을 잊었다는 것 void입니다. 이것이 오류나 테스트 실패를 야기 할 수 있다고 생각할 것입니다. 해당 클래스의 단위 테스트는 완전히 무시되었으며 존재하지 않는 것처럼 작동했습니다.

3 번의 정리 및 빌드 + 재시작 VS.NET후 테스트 실행을 보았고 Task반환 유형 을 추가하는 것을 잊었 음을 나타내는 것은 실패했습니다 .

public async Task This_IsMy_UnitTest()

업데이트 후, 단위 테스트가 발견되고 올바르게 작동했습니다. 이것은 극단적 인 경우 일 수 있지만 서명을 올바르게 async사용 await하지 않고 사용 하는 테스트 를 수행 하면 이와 동일한 문제가 발생할 수 있으며 처음으로 수행 한 것은 아닙니다.


나를 위해 문제를 해결했습니다!
Aimal Khan

8

Nuget 패키지 관리자로 이동하여 다음과 같이 Nunit Adapter를 다운로드하십시오.

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


고맙습니다. 제 경우에는 NUnit3TestAdapter 대신 NUnitTestAdapter가있었습니다. 그게 내 문제를 해결했다.
픽셀

솔루션 또는 프로젝트에 NUnit3TestAdapter nuget 패키지를 추가하면 다른 모든 솔루션의 문제는 해결되지 않지만 추가 된 솔루션의 경우에만 해결됩니다. 모든 솔루션 / 프로에 일반적으로이를 수행하려면 stackoverflow.com/a/45748818/1300390
Umar T.

6

나는 같은 문제가 있었지만 "% TEMP % \ VisualStudioTestExplorerExtensions"폴더가 내 컴퓨터에 존재하지 않아서 게시물을 읽을 때 그것을 만들 생각이 있었고 작동했습니다. 테스트 탐색기는 이제 모든 테스트를 보여줄 수 있습니다. 감사.


6

그냥 다시 시작 Visual Studio 및 테스트 탐색기에서 "실행 모든"... 내 모든 테스트는 다음 발견 할.


1
테스트 탐색기를 닫았다가 다시 열고 모두 실행을 선택하는 것만으로도 나타났습니다. 그것이 항상 작동하는지 확실하지 않지만 이번에는 효과가있었습니다.
Rich

5

필자의 경우 (Visual Studio Enterprise 2015 14.0.25425.01 업데이트 3, Resharper 2016.2) 빌드 메뉴에서 깨끗한 솔루션 을 수행해야했습니다 . 솔루션을 다시 빌드하면 테스트 탐색기가 "깨어나"모든 테스트를 다시 찾습니다.


5

필자의 경우 해결책은 Visual Studio 2015에 NUnit 3 테스트 어댑터 확장을 설치하는 것 입니다.

'도구'meue 아래에 '확장 및 업데이트'가 있습니다.


당신의 대답은 질문에 어떻게 가치를 더합니까? 읽어 보셨습니까? 정확히 동일한 솔루션을 권장하는 두 가지 답변이 이미 있습니다 : stackoverflow.com/a/41364951/6305294 , stackoverflow.com/a/35043380/6305294
Alex

2
글쎄, 나는 첫 번째 것을 읽었지만 (즉, stackoverflow.com/a/41364951/6305294) 그것은 솔루션이나 프로젝트에 NUnit Adapter nuget 패키지를 추가 할 것을 제안한다는 점에서 내 대답과 다릅니다. 다른 모든 솔루션에는 일반적으로 문제가 있습니다. 두 번째 것과 관련하여 나는 그것을 보지 못했다는 것을 인정했습니다. 스크린 샷을 추가하면 질문에 대한 두 가지 답변이있을 때 시선을 사로 잡는 데 도움이 될 수 있습니다
Umar T.

4

제 경우에는 문제가 "의자와 키보드 사이"였습니다. 빌드시 단위 테스트 프로젝트가 포함되지 않은 Configuration Manager의 구성으로 전환했습니다. 모든 프로젝트를 포함하는 구성 (예 : 디버그)으로 다시 전환하면 문제가 해결되었습니다.


4

필자의 경우 VS 2015의 MSTest는 174 자보다 긴 테스트 (예 : 분석법) 이름으로 테스트를 무시했습니다. 이름을 줄이면 테스트를 볼 수있었습니다. 이것은 테스트 이름을 조작하여 추측 및 확인을 통해 결정되었습니다.


4

이것은 아마도 대부분의 사람들에게 도움이되지는 않지만 단위 테스트에 경험이없는 사람 boolvoid다음 대신에 반환되는 테스트 방법을 작성했습니다 .

[TestMethod]
public bool TestSomething()

반환 유형을 변경하여 void문제를 해결했습니다.


유형을 반환하면 테스트 검색이 차단된다는 것을 알고 여전히 흥미 롭습니다.
Fred Kleuver

3

xunit.runner.visualstudio테스트 프로젝트 packages.config에 패키지가 있고 올바르게 복원 되었는지 확인하십시오 .

나는 이것이 원래 질문의 경우가 아니라는 것을 알고 있지만 나 같은 사람의 시간을 절약 할 수 있습니다.


3

위의 솔루션과 완전히 다른 솔루션을 찾았 음을 추가하고 싶습니다.

테스트 클래스를 아래와 같이 선언했습니다.

[TestClass]
class ClassificationTests
{
   //unit tests
}

public수정자를 클래스에 추가하자마자 예상대로 작동했습니다!


2

.NET Standard 또는 .NET Core를 대상으로하는 경우 확장이 아닌 NUnit 테스트 어댑터 용 NuGet 패키지 를 사용해야 합니다 .

.NET Core 또는 .NET Standard 프로젝트를 테스트하는 경우 NuGet에서 어댑터를 설치하는 것이 좋습니다. VSIX 패키지는 여러 플랫폼을 대상으로 할 수 없으므로 VSIX 어댑터는 .NET Core를 지원하지 않습니다.

출처 : NUnit GitHub Wiki

.

또한 FAQ를 확인하십시오.

Visual Studio 2017에서 테스트가 표시되지 않습니까?

  • NuGet 패키지를 사용하고 있습니까?
  • NuGet 패키지 버전 3.8.0 이상을 사용하고 있습니까?
  • 테스트가 .NET Core 또는 전체 .NET Framework를 대상으로합니까? (위 참조)
  • Microsoft.NET.Test.Sdk에 대한 패키지 참조를 추가 했습니까?
  • Visual Studio를 다시 시작 했습니까? 여전히 약간 온도입니다.

출처 : NUnit GitHub Wiki



1

나는 같은 문제가 있었다. 방금 프로젝트를 정리하고 재건했으며 누락 된 테스트를 볼 수있었습니다.


1

내 솔루션을 공유하려고합니다. 나는 Windows 10, Visual Studio 2015, NUnit 3.5, NUnit Test Adapter 3.6 (VISX 확장이 아닌 NuGet을 통해)에 있었고 내 테스트 중 아무것도 발견되지 않았습니다. 내 문제는 내 솔루션의 Tests 프로젝트에서 어떻게 든 "Documents"폴더의 바로 가기가 프로젝트 폴더 내에 생성되었다는 것입니다. 테스트 어댑터가 바로 가기를 보았고 어떻게 해야할지 알아 내려고 시도하여 단위 테스트를 표시하지 못했습니다.


1

\ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ 1033 \ SpecificFold‌erCache.xml 파일을 삭제하면 문제가 해결되었습니다.


1

이 주제는 다소 구식이지만 VS2015에서 누락 된 테스트 상태에 대한 내 솔루션은 다음과 같습니다.

작업 상태는 디버그 빌드 구성에서만 나타납니다. 물론 이것은 또한 테스트 탐색기를 통해 테스트를 디버그 할 수 없게합니다.


1

나는 또한이 멋진 작은 기능에 물 렸고 여기에 설명 된 아무것도 나를 위해 일하지 않았습니다. 빌드 출력을 다시 확인하고 관련 프로젝트가 빌드되고 있지 않은 것을 알기 전까지는 아닙니다. 구성 관리자를 방문하여 의심을 확인했습니다.

Visual Studio 2015는 기쁜 마음으로 새 프로젝트를 추가 할 수 있었지만 프로젝트를 구축 할 가치가 없다고 결정했습니다. 프로젝트를 빌드에 추가하면 멋지게 재생되었습니다.


1

X64를 다음으로 변경하여 해결했습니다. 프로젝트-> 속성-> 빌드-> 플랫폼 대상-> 모든 CPU를 마우스 오른쪽 버튼으로 클릭하십시오.


1

어떻게 든 내 프로젝트는 정적 라이브러리 (.lib) 로 컴파일되도록 설정되었습니다 . 이를 동적 라이브러리 (.dll)로 변경 한 후 Visual Studio 2012에서 올바르게 검색 한 위치를 테스트하십시오.

My Unit Test Project ->
Properties ->
Configuration Properties ->
General ->
Configuration Type

1

다음과 같이 문제를 해결하는 것이 매우 쉽습니다.

  • 단위 테스트 프로젝트를 선택하십시오
  • 솔루션 탐색기에서 '모든 파일 표시'버튼을 클릭하면 솔루션 탐색기의 파일 트리에 'obj \ x86 \ Debug'내의 새 임시 파일이 나타납니다.
  • 이러한 임시 파일을 삭제하고 프로젝트를 다시 빌드하십시오.
  • 테스트를 실행하고 다시 시도했습니다!.

1

우리도 같은 문제가있었습니다. 우리는 여러 C # 프로젝트와 더 많은 테스트 프로젝트를 포함하는 큰 VS 2015 솔루션을 보유하고 있습니다.

Resharper의 테스트 발견은 정상적으로 작동했지만 VS Test Explorer는 비참하게 실패했습니다.

프로젝트에는 동일한 버전의 MsTest TestFramework 및 TestAdapter가 없었으며 때로는 NuGets를 사용하고 다른 경우에는 좋은 오래된 참조를 사용했으며 명백히 지원되지 않습니다 (비싼 IDE의 경우).

모든 Microsoft.VisualStudio.Test * 참조 를 제거한 다음 두 MSTest NuGets 추가 / 업데이트하면 문제가 해결되었습니다.


1

테스트 프로젝트 의 대상 프레임 워크 가 테스트중인 프로젝트와 다르다는 것을 인식하여이 문제를 해결했습니다 . 예, 대상 프레임 워크를 기본값 (프로젝트> 속성> 응용 프로그램)에서 변경하여이 문제가 발생했지만 몇 주 후에 생성 된 테스트 프로젝트에서는이 작업에 실패했습니다. 불일치로 인해 컴파일러 오류가 발생하지 않았지만 오류 목록 창에 경고가 발생했습니다 . 경고를 표시하는 옵션을 선택하면 해결책이 분명했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.