[C#] Visual Studio 2013에서 단위 테스트를 찾지 못함

Visual Studio 2013에는 하나의 웹 프로젝트, 하나의 라이브러리 프로젝트 및 하나의 단위 테스트 프로젝트로 구성된 간단한 솔루션이 있습니다. 솔루션을 열고 단위 테스트를 실행하려고하면 Visual Studio에서 검색하지 않습니다. 테스트를 실행하려면 메뉴로 이동하여 테스트-> 실행-> 모든 테스트 실행을 선택하거나 테스트 탐색기 창을 열어보십시오. 메소드에 의해 Visual Studio는 솔루션에서 테스트를 찾지 않습니다.

먼저 간단한 단위 테스트 프로젝트를 만들고 테스트를 실행하면 Visual Studio에서 테스트를 발견하고 실행할 수 있습니다. 그런 다음 이전 솔루션을 열면 Visual Studio는 이제 모든 테스트를 감지합니다. 솔루션을 저장하려고하지만 단위 테스트 프로젝트를 먼저 만들지 않고 솔루션을 닫았다가 다시 열면 Visual Studio에서 테스트를 다시 찾지 않습니다. 이것은 왜 이런 일이 일어나고 있는지 모르는 매우 이상한 행동입니다.

비주얼 스튜디오 팀 재단과 통합 된 소스 컨트롤 git을 사용하던이 프로젝트에서 혼자 일했습니다. Visual Studio의 문제는 새로운 요소가 프로젝트에 왔을 때와 온라인으로 소스 제어를 통해 솔루션을 다시 만들어야 할 때 단위 테스트가 시작되지 않는다는 것을 발견하지 못합니다. 이 전에 모든 테스트는 항상 Visual Studio에서 발견되었습니다.

단위 테스트를 만들기 위해 dll Microsoft.VisualStudio.QualityTools.UnitTestFramework를 사용합니다. 내 Visual Studio 버전은 다음과 같습니다. 웹 버전 12.0.30723.00 업데이트 3 용 Microsoft Visual Studio Express 2013 3. 내 .net 프레임 워크 버전은 4.5.50938입니다.

모든 테스트는 다음과 같습니다.

[TestClass] 
public class Service1Test 
{ 
    [TestMethod] 
    public void Test1() 
    {
        Assert.IsTrue(True); 
    } 
}



답변

테스트가 제대로 표시 되려면 때때로해야 할 일이 있습니다.

  1. 솔루션이 보호 된 드라이브에있는 경우 읽기 / 쓰기를 위해 관리자 액세스가 필요한 경우 때로는 테스트의 일부만 발생합니다. 이 경우 VS를 관리자로 확실히 실행하십시오.

  2. 솔루션이 64 비트 인 경우 테스트> 테스트 설정> 기본 프로세서 아키텍처가 x64로 설정되어 있는지 확인하십시오. 때때로 x86으로 설정됩니다. x64로 설정 한 다음 다시 빌드하십시오.

  3. 때로는 테스트 탐색기가 다시 시작되기 때문에 Visual Studio를 다시 시작하면 트릭이 발생합니다.

  4. 실제로 테스트 프로젝트 / 솔루션을 빌드하는 것을 잊지 마십시오. (나머지 프로젝트로 빌드하려면 솔루션> 특성> 구성 특성> 구성을 마우스 오른쪽 단추로 클릭하고 테스트 프로젝트의 “빌드”상자를 선택하십시오.)

  5. 테스트가 public테스트 클래스 의 섹션에 있는지 확인하십시오


답변

NUnit을 사용하는 경우 먼저 NUnit 어댑터를 다운로드하십시오.

도구 → 확장 및 업데이트… → 온라인으로 이동하여 “NUnit 테스트 어댑터”를 검색하십시오.


답변

테스트 클래스가 있는지 확인하십시오 public. 다른 클래스를 참조하는 경우에도 같은 클래스인지 확인하십시오.

또한 어설 션이 없거나 테스트를로 장식 [TestMethod]하지 않는 경우 테스트가 인식되지 않을 수 있습니다.

2 가지 추가 사항 : 1) 비동기 단위 테스트는 기껏해야 웃기는 일이지만 최악의 상황은 전혀 없습니다. Stephen Cleary 의이 기사 를 살펴보고 관심이 있으시 다면 여기에서 멀리 떨어지 십시오.

2) NUnit을 사용하고 동일한 문제가 발생하면 [TestCase]Nunit 대신 Nunit에 대한 것임을 명심하십시오.[TestMethod]

위에서, 여기의 말로 미루어 보아 기사 나는 모두 코드 프로젝트에 게시 한 MSTestNUnit당신은 당신이 아무것도 누락하지 않는 그것을 스핀을주고 싶어 할 경우,.


답변

나는 같은 문제가 있었지만 다른 해결책은 효과가 없었다. 2 어댑터와 함께 NUnit 3 프레임 워크를 사용하고 있음이 밝혀졌습니다.

NUnit 3을 사용하는 경우 확장 및 업데이트로 이동하여 NUnit3 테스트 어댑터를 설치하십시오.


답변

때때로이 문제가 발생합니다. 나를 위해 일하는 것은 Visual Studio를 종료하고 폴더로 이동하는 것입니다.

%LocalAppData%\Microsoft\VisualStudio\12.0\ComponentModelCache

내용을 삭제하십시오.

Visual Studio를 열고 프로젝트를 다시로드하면 테스트 탐색기에 테스트가 다시 포함되어야합니다.


답변

XUnit 사용자는 테스트 탐색기 창에 더 이상 테스트가 나열되지 않습니다. 테스트를 다시 검색 할 수있게하려면 아래 강조 표시된 이 중요한 팁을 시도 하십시오 .

테스트를 발견하거나 실행하는 데 문제가있는 경우 Visual Studio 내에서 손상된 러너 캐시의 희생자 일 수 있습니다. 이 캐시를 지우려면 Visual Studio의 모든 인스턴스를 종료 한 다음 % TEMP % \ VisualStudioTestExplorerExtensions 폴더를 삭제하십시오. 또한 프로젝트가 단일 버전의 Visual Studio 러너 NuGet 패키지 (xunit.runner.visualstudio)에만 연결되어 있는지 확인하십시오.

TEMP를 입력하여 대상 폴더를 찾으십시오.


답변

미래의 Google 직원에게는 드문 시나리오가 발생했습니다.

내 기본 테스트 클래스에는 TestContext라는 속성이 있습니다. 이것은 MSTest의 예약 TestContext 속성을 방해하여 VS / Resharper에서 모든 테스트를 숨길 수 있습니다 (베이스에서 상속되지 않은).