테스트 어댑터가 설치된 테스트 탐색기에 NUnit 단위 테스트가 표시되지 않음


145

VS2012 + 2013 용 NUnit 테스트 어댑터를 설치했습니다. 처음 설치할 때 어댑터 테스트가 표시되었지만 오늘 어떤 이유로 표시가 중지되었습니다. 빌드, 재 구축, 청소, 재시작 후 테스트 탐색기에 아무것도 나타나지 않습니다. 왜 이런 일이 일어날까요? VS2013 Ultimate를 사용하고 있습니다.


2
테스트 프로젝트를 마우스 오른쪽 단추로 클릭 한 다음 실행을 클릭하십시오. 테스트로 창을 다시 채 웁니다.
— Chase Florell

@ChaseFlorell 그렇지 않습니다. 테스트 탐색기의 녹색 막대가 시작된 다음 잠시 후 분할이 중지됩니다.
— RobVious 2009

방해 할 수있는 다른 테스트 도구가 있습니까? R #을 사용하여 테스트를 실행하고 VS2012를 사용하고 있으므로 환경이 충분하지 않습니다. 창을 닫거나 작은 테스트 하위 집합을 실행하면 전체 테스트 트리가 사라진다는 것을 알고 있습니다.
— Chase Florell

테스트 프로젝트를 언로드 한 후 다시 빌드 한 다음 다시로드 할 수 있습니다.
— Chase Florell

@ChaseFlorell 나는 R #을 가지고 있지만 NUnit 테스트로 당밀만큼 느립니다 ... 그리고 그것은 전에 좌절하고 있습니다. 언로드를 시도하겠습니다.
— RobVious

답변:


87

테스트 프로젝트가 64 비트 플랫폼을 대상으로 설정하면 테스트가 NUnit 테스트 어댑터에 표시되지 않습니다.


54
> 테스트 설정 - -> 기본 프로세서 아키텍처 그것은 시험의 메뉴에 지정된 구조와 일치 할 필요가 있다고 할 수있다
— 브래넌

6
@Brannon 그것은 않습니다. x64로 설정된 경우 x64 프로젝트의 테스트가 표시됩니다.
— 기본

2
좀 더 어리석은 일이 여기에서 일어났습니다-내 테스트 방법에 [Test] 속성을 추가하는 것을 잊었습니다 :)
— Nikolai

이 문제는 여전히 NUnit 3 테스트 어댑터에있는 것으로 보입니다. 테스트 어댑터 아키텍처 (x64 vs x86)에 대해서는 Simoyd의 솔루션을 참조하십시오.
— bart

1
정답이 아닙니다. 테스트를 실행하려면 "Test"-> "Test Settings"-> "Default Processor Architecture"-> "x64"를 선택하십시오.
— Andrew Rondeau

182

당신이 사용하는 경우 NUnit3 + 버전을 새로운 테스트 어댑터를 사용할 수 있습니다.

"도구-> 확장 및 업데이트-> 온라인"으로 이동하여 " NUnit3 테스트 어댑터"를 검색 한 다음 설치하십시오.


Code Coverage 지표가 사라지는 문제도 해결되었으므로 +1이 추가되었습니다.
— Aidanapword

방화벽 프록시가 확장 및 업데이트를 통해 URL을 차단 한 경우이 URL을 사용하여 어댑터를 다운로드하십시오. marketplace.visualstudio.com/…
— Yawar Murtaza

NUnit2 테스트 어댑터를 비활성화해야 할 수도 있습니다.
— Mark Pattison

이런 식으로 얻는 것과 NuGet 패키지 관리자에서 얻는 것의 차이점은 무엇입니까?
— 8

NuGet을 사용하면 nunit의 API에 액세스 할 수 있습니다. 이 방법을 사용하면 테스트 탐색기에서 테스트를 실행할 수 있습니다 (기본적으로 MS 테스트 만 실행 됨).
— Ricardo França

57

내 테스트 어셈블리는 64 비트입니다. Visual Studio 2012 상단의 메뉴 모음에서 '테스트'-> '테스트 설정'-> '기본 프로세서 아키텍처'-> 'X64'를 선택할 수있었습니다. 'Build'메뉴에서 'Rebuild Solution'후에 테스트 탐색기에서 모든 테스트를 볼 수있었습니다. 바라건대 이것은 미래의 다른 사람을 도울 것입니다 = D.


3
어셈블리 및 프로그램의 아키텍처를 확인하십시오. 솔루션 또는 프로젝트의 플랫폼이 x64로 명시 적으로 설정되어 있어도 테스트 아키텍처가 일치하지 않으면 테스트 실행에 문제가 있습니다.
— Dodzi Dzakuma

30

NUnit 버전이 일치하지 않는지 확인하십시오. 현재 사용 가능한 NUnit 테스트 어댑터는 NUnit 버전 2.6.4 이하에서만 작동합니다. 버전 3.x에서 NUnit을 다운 그레이드하려면 패키지 관리자 콘솔> 업데이트 패키지 NUnit -version 2.6.4로 이동하십시오.

http://jeremybytes.blogspot.co.ke/2015/11/review-of-unit-testing-makes-me-faster.html


6
선생님, 제 문제를 정확하게 해결하셨습니다! 감사합니다! NUnitTestAdapter.WIthFramework라는 nuget 패키지가 있습니다.
— TheAkhemist

NUnit 버전 불일치와 비슷한 문제가있었습니다. 테스트 탐색기에 일부 테스트는 표시되지 않았으므로 NUnit 테스트 어댑터 업데이트와 같은 모든 종류의 권장 사항을 시도했습니다. 이전에 NUnit을 3.6.1에서 3.7.1로 업그레이드했지만 어떤 이유로 든 내 프로젝트 중 하나가 여전히 nunit.framework.dll 버전 3.6.1을 참조하는 반면 다른 모든 것은 3.7.1을 참조했습니다. 3.7.1에 대한 참조를 업데이트했으며 트릭을 수행했습니다. 지금까지 내 테스트는 사라지지 않았습니다. 손가락이 넘어졌다!
— jrupe

23

내 상황에서 'NUnit3 테스트 어댑터'가 비활성화되었습니다. 다시 활성화하려면 메뉴로 이동하십시오.

도구-> 확장 및 업데이트 ...

왼쪽에서 'Installed'-> 'All'을 선택하십시오.

오른쪽 상단에서 'nunit'을 검색하십시오.

'NUnit3 Test Adapter'가 설치되어 있으면 찾은 항목과 함께 활성화 / 비활성화 할 수 있습니다.

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


2
나에게 이것은 효과가 없었다. 제거를 시도했지만 사라지는 것처럼 보였지만 다시 시작한 후에있었습니다. NUnit을 표준 사용자로 설치 한 다음 관리자로 제거하려고 시도했습니다. VS는 이것에 대해 아무 말도하지 않습니다 ... 따라서 솔루션은 관리자 권한없이 또는 그 반대로 사용하도록 시도하는 것입니다.
— Tom

10

이 답변은 매우 기본적으로 보이지만 처음에는 완전히 명확하지 않았습니다. 솔루션을 다시 빌드하는 경우 솔루션을 빌드하도록 구성된 프로젝트 만 빌드합니다.Build -> Configuration Manager

이것은 내 문제였습니다. 빌드 구성 설정이나 테스트 프로젝트가 빌드되지 않은 원인이 무엇인지 실수로 변경해야합니다 (이전의 경우). 그래서 Test Explorer창은 오래된 dll을보고있었습니다. 이 작업을 수행 한 후 Clean대부분의 테스트가 사라지고 폴더가 rebuild다시 검사 되지 않은 후에 다시 나타나지 않는 것을 알게 된 것은 나에게 분명해 bin졌습니다.


모든 프로젝트가 구성 관리자에서 빌드 되도록 설정되었지만 테스트를 다시 표시하려면 각 테스트 프로젝트를 수동으로 빌드해야했습니다.
— Noel Widmer

테스트 프로젝트를 수동으로 구축했습니다. 충분하지 않았습니다. 나는이 대답이 말한 것을해야했습니다.
— Jared

10

작업 설정 (솔루션에 따라 NUnit2 및 NUnit3 및 2012 년과 2017 년에 여러 버전의 Visual Studio)이 있었고 어느 ​​날 갑자기 작동이 중단되었습니다. 솔루션이나 VS 버전에서 테스트가 감지되지 않았습니다.

제 경우에는 삭제하는 데 도움이되었습니다 %localappdata%\Temp\VisualStudioTestExplorerExtensions. VS를 다시 시작한 후 모든 것이 이전과 같이 작동했습니다.


10

VS 2017 및 .net 코어를 사용하는 경우 여기 에서 말한 것처럼 테스트 프레임 워크 NUnit 3.6.1 , 테스트 실행기 NUnit3TestAdapter 3.8.0-alpha1 및 테스트 SDK Microsoft.NET.Test.Sdk 에 대한 참조를 추가해야합니다. 15.0.0 .


3
.NET Core를 사용하지 않지만 VS2017으로 옮길 때 NUnit 테스트 어댑터를 설치하면 문제가 해결되었습니다.
— Ciaran Gallagher

8
  1. 도구
  2. NuGet 패키지 관리자
  3. 솔루션 용 NuGet 패키지 관리
  4. 검색
  5. NUnitTestAdapter.WithFramework
  6. 테스트 빌드 / 실행을위한 Ctrl + R, A

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

NUnitTestAdapter.WithFramework를 사용하면 NUnit 및 NUnit 어댑터의 버전간에 불일치가 거의 없는지 확인합니다 (즉, "그냥 작동합니다").


나를 위해 NUnitAdapter3 (VS 메뉴-> 도구-> 확장 및 업데이트 ...)에 어댑터를 업데이트 한 후 작동하기 시작합니다 .NUnit의 NuGet 페이지를 2.6.3에서 3.2.1로 업데이트하십시오. 감사합니다!
— smily

1
이것이 나를 위해 일한 유일한 것입니다 – 표준 어댑터뿐만 아니라 "WithFramework"이어야합니다
— Mani5556

4

[TestFixureSetUp] 및 [Test]가 명시되어 있는지 확인하십시오

시험 수업에서

견본:

namespace ClassLibrary1
{
   public class SimpleCalculator
   {
      public Calculator _calculator;
      [TestFixtureSetUp]
      public void initialize()
      {
         _calculator = new Calculator();
      }
      [Test]
      public void DivideTest()
      {
         int a = 10;
         int b = 2;
         int expectedValue = a/b;
         int actualValue = _calculator.Divide(a, b);
         Assert.AreEqual(expectedValue, actualValue, "Functionality not working properly!");
      }
   }   
}

1
TestFixtureSetup은 더 이상 사용되지 않는 것 같습니다. <NUnit.Framework.OneTimeSetUp>이 더 좋습니다.
— Jochen

1

xunit.runner.visualstudio nuget 패키지 를 제거했다가 다시 설치해야했습니다 . 위의 모든 제안을 시도한 후에 이것을 시도 했으므로 혼합 된 것일 수 있습니다.


1

이 문제의 또 다른 원인 은 매핑 된 드라이브 에서 프로젝트를 여는 경우입니다. Visual Studio는 이러한 프로젝트를 올바르게 처리하지만 Nunit은이를 지원하지 않습니다.

프로젝트를 물리적으로 복사하면 문제가 해결되었습니다.


0

또한 nunit v3.2.1을 제거해도 v3.2.1에 대한 nunit 프레임 워크 참조가 여전히 솔루션 탐색기의 프로젝트에 있음을 발견했습니다. 솔루션 탐색기> ProjectName > 참조

마우스 오른쪽 버튼을 클릭하면 버전이 표시됩니다. 이것을 제거한 다음 참조> 참조 추가를 마우스 오른쪽 단추로 클릭하십시오.

버전 2.x 버전을 검색하고 솔루션을 추가 한 후 다시 빌드하십시오.

그것은 나를 위해 일했다!


0

op에서 언급 한 문제가 발생했습니다.

제 경우는 오래된 프로젝트를 받았으며 테스트는 실제로 테스트중인 시스템의 일부였습니다. 외부 테스트 러너를 사용하고 있다고 가정합니다.

이 작업 체인은 나를 위해 문제를 해결했습니다.

  • 테스트 프로젝트를 만들었고
  • 테스트 파일을 거기로 옮겼습니다.
  • 테스트 프로젝트가 컴파일되도록 참조 추가
  • 테스트 프로젝트에 Nunit 및 Nunit 어댑터 NuGet 패키지 추가
  • 재 컴파일

Nunit 테스트를 성공적으로 수행 할 수있었습니다.


0

TestCaseSource속성을 사용하는 경우 소스가 존재하고 문서를 준수하는지 확인하십시오 . 그렇지 않으면 테스트가 감지되지 않습니다.


0

테스트가 발견되지 않는 비슷한 문제가있었습니다. 올바른 NUnit 버전이 있고 NUnit과 어댑터간에 버전이 일치하며 테스트에 올바르게 태그가 지정되었습니다. 관리자가 아닌 VS 2017 Enterprise를 실행했습니다. 관리자로 VS를 시작한 후 테스트가 나타났습니다.


0

테스트 프로젝트로 새로운 솔루션을 시작하여 문제가있는 원래 프로젝트와 비교했습니다. 어떤 이유로 든 원본에는 app.config 가 있습니다. 프로젝트에서 해당 파일을 제외하고 테스트 탐색기에 테스트가 다시 나타나는 것을 보았습니다.


0

나도이 문제가 있었지만 원인이 다릅니다. F2017에서 VS2017을 사용하고 있습니다.

첫째, Visual Studio의 콘솔은 테스트를 찾을 수없는 이유를 충분히 설명하지 않습니다. 테스트와 함께 DLL을로드하는 데 실패합니다. 따라서 명령 줄에서 NUnit3console.exe를 사용하면 자세한 내용을 알 수 있습니다.

필자의 경우 테스트 어댑터가 최신 버전의 F # Core DLL (4.4.1.0) (F # 4.1)을 찾고 있었지만 여전히 4.4.0.0 (F # 4.0)을 사용하고 있기 때문입니다. 그래서 방금 이것을 테스트 프로젝트의 app.config에 추가했습니다.

  <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="4.4.0.0" />
  </dependentAssembly>

즉, 이전 F # 코어로 리디렉션합니다.


0

갑자기 테스트 탐색기 창에 테스트가 나타나지 않았을 때도 같은 문제가있었습니다. "NUnit3TestAdapter"의 업데이트 버전이 있습니다

많은 검색과 노력 끝에 프로젝트 속성에서 다음 값을 설정해야한다는 것을 알았습니다. [솔루션 탐색기 창 : 프로젝트> 속성을 ​​마우스 오른쪽 버튼으로 클릭] 빌드 탭에서 Platform = x64를 설정하고 Platform target = x86 또는 모든 CPU 빌드 프로젝트 및 모든 테스트가 테스트 탐색기 창에 나타납니다.

중요 사항 : 출력 창에서 다음 메시지를 본 후 해결책을 찾았습니다.

"테스트 실행에는 Framework Framework45 및 플랫폼 X86 용으로 구축 된 DLL이 사용됩니다. 다음 DLL은 실행에 포함되지 않습니다. AutomationTests.dll은 Framework Framework45 및 플랫폼 X64 용으로 구축되었습니다."


0

중단 된 msbuild.exe 프로세스가있었습니다. 그것이 내 문제인지 아닌지는 모르겠지만 중단 된 프로세스를 찾기 전에 다양한 NUnit 어댑터를 다시 설치하는 데 많은 흔적과 오류가 발생했습니다.


0

여기에 $ .02를 추가하기 위해 어제 비슷한 문제가 발생하여 168 개의 테스트가 누락되었습니다. 이 게시물에서 대부분의 모든 것을 시도했습니다. 특히 NUnit의 버전이 동일해야합니다. 그런 다음 테스트를 재생 목록으로 나눈 것을 기억했습니다. 이들은 하지 않는 새로운 테스트를 추가 할 때 자동으로 업데이트됩니다 . 재생 목록을 삭제하면 BAM! 모든 테스트가 다시 한 번 돌아 왔습니다.


-1

테스트에 Test 속성이 올바르게 표시되어 있는지 확인하십시오. 모든 테스트에 Explicit 속성 만 표시되어 있으면 TestAdapter는 조명기를 인식하지 못합니다.

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