테스트 어댑터가 설치된 테스트 탐색기에 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.