Visual Studio 2013 테스트 탐색기

ThomasE

2 개의 프로젝트로 간단한 C # /. Net 솔루션을 만들었습니다.

  • 클래스 라이브러리.
  • 단일 UnitTest 클래스가있는 단위 테스트 프로젝트이며이 프로젝트에 Moq를 추가했습니다.

그런 다음 Moq를 사용하여 단일 클래스를 모의 한 다음 다른 클래스에 주입되는 세 가지 UnitTest 메서드를 만들었습니다.

using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Moq;

namespace MockSimple.Test
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.Method(2,2);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(1));
        }

        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void TestMethod2()
        {
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(0);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.Method(10,5);
        }

        [TestMethod]
        public void TestMethod3()
        {
            var ints = new List<int> {1, 2, 3, 4};
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.LoopInts(ints);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(ints.Count));
        }

        [TestMethod]
        public void TestMethod4()
        {
            var ints = new List<int> { 1, 2, 3, 4, -5, -2, -7 };
            var mock = new Mock<ClassImplementingFunctionality>();
            mock.Setup(functionality => functionality.Add(It.IsAny<int>(), It.IsAny<int>())).Returns(4);
            var classUnderTest = new ClassUnderTest(mock.Object);
            classUnderTest.LoopInts(ints);
            mock.Verify(m => m.Add(It.IsAny<int>(), It.IsAny<int>()), Times.Exactly(4));
        }

    }
}

그러나 VS2013에서 내장 테스트 관리자를 사용하여 테스트 메서드를 실행하려고하면 테스트 출력 창에 다음 오류가 표시됩니다.

------ Run test started ------
The composition produced a single composition error. The root cause is provided below. Review the CompositionException.Errors property for more detailed information.
Value does not fall within the expected range.
 Resulting in: An exception occurred while trying to create an instance of type 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Resulting in: Cannot activate part 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Element: 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection' -->  Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection
 Resulting in: Cannot get export 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection (ContractName="Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection")' from part 'Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection'.
 Element: Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection (ContractName="Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection") -->  Microsoft.VisualStudio.TestWindow.Model.TestGroupCollection
 ========== Run test finished: 4 run (0:00:00,3464634) ==========* 

Resharper Unit Test Framework를 사용하여 테스트 방법을 쉽게 실행할 수 있습니다.

나를 위해 MSTest가 종속성 주입을 시도하거나 MEF 또는 Unity 구성을 찾고있는 것처럼 보입니다.

어떤 아이디어?

ThomasE

감사 감사 ...

개발자 명령 프롬프트에서 devenv / rootSuffix exp를 실행하십시오.

위의 명령으로 문제가 해결되었습니다. :-)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Visual Studio 2013 테스트 탐색기-테스트 검색 결과 준비를 위해 데이터 저장소를 초기화하지 못했습니다.

Visual Studio 2013 업데이트 4, 솔루션 탐색기의 중복 항목

Visual Studio 2013 빌드 후 이벤트에 항상 탐색기가 표시됨

소스 제어 탐색기 커서 아이콘 의미 Visual Studio 2013

재생 목록이있는 Visual Studio 테스트 탐색기

Visual Studio 테스트 탐색기 오류 로그

Visual Studio 테스트 탐색기 요구 사항 모두 실행

Visual Studio 테스트 탐색기 아이콘

Visual Studio 테스트 탐색기 오류 로그

Visual Studio Express 2013이 누락 된 Databse 탐색기 / 서버 탐색기

N Unit Visual Studio 2017 테스트 탐색기가 테스트를 찾지 못함

Visual Studio 2013의 소스 제어 탐색기, 마지막 트리 상태를 열어 둡니다.

Visual Studio 2013의 테스트 탐색기에서 Specflow 시나리오 (시나리오 개요)의 코드를 열 수 있습니까?

Visual Studio 테스트 탐색기 그룹 이름 네임 스페이스

Visual Studio 2013-ASPX-탐색 모음

Visual Studio 테스트 탐색기에서 SpecFlow 기능을 찾을 수 없음

Visual Studio 테스트 탐색기 창이 열리지 않습니다.

Visual Studio 테스트 탐색기 - CMake 및 원격 빌드를 사용한 GTest

Visual Studio 테스트 탐색기가 내 부스트 테스트를 찾지 못함

C # 단위 테스트 Visual Studio 2013 테스트 실패

SpecFlow 기능 테스트는 Visual Studio 2019 테스트 탐색기 창에 추가되지 않습니다.

Visual Studio 2015 테스트 탐색기가 업데이트 후 테스트를 표시하지 않습니다.

Visual Studio 테스트 탐색기 키보드는 테스트 목록에 포커스를 설정합니다.

테스트 탐색기에서 중복 테스트를 보여주는 Visual Studio 2019

빌드 된 테스트는 Visual Studio 테스트 탐색기 창에 추가되지 않습니다.

Nunit 3.2.1 테스트가 Visual Studio 테스트 탐색기에서 발견되지 않았습니다.

Visual Studio 2013의 서버 탐색기에 Azure Storage 노드가 없음

Visual Studio 2017 테스트 탐색기 특성 검색 : TestCategory () 이상을 표시합니다.

현재 Visual Studio 2013 테스트 에이전트 버전 확인

TOP 리스트

  1. 1

    셀레늄의 모델 대화 상자에서 텍스트를 추출하는 방법은 무엇입니까?

  2. 2

    Blazor 0.9.0 및 ASP.NET Core 3 미리보기 4를 사용한 JWT 인증

  3. 3

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  4. 4

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  5. 5

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  6. 6

    오류 : MSB4803 : MSBuild의 .NET Core 버전에서 "ResolveComReference"작업이 지원되지 않습니다.

  7. 7

    R에서 Excel로 내보낼 때 CET / CEST 시간 이동이 삭제됨

  8. 8

    node.js + postgres : "$ 1"또는 그 근처에서 구문 오류

  9. 9

    확대 후 하이 차트에서 Y 축이 잘못 정렬 됨

  10. 10

    EPPlus에서 행 높이를 설정할 때 이상한 동작

  11. 11

    Ionic 2 로더가 적시에 표시되지 않음

  12. 12

    MS Access 부분 일치 2 테이블

  13. 13

    EPPlus에서 병합 된 셀의 행 높이 자동 맞춤

  14. 14

    ExecuteNonQuery- 연결 속성이 초기화되지 않았습니다.

  15. 15

    ResponseEntity를 사용하고 InputStream이 닫히는 지 확인하는 적절한 스트리밍 방법

  16. 16

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  17. 17

    오류 : "const wchar_t *"유형의 인수가 "WCHAR *"유형의 매개 변수와 호환되지 않습니다.

  18. 18

    Java에서 이미지를 2 색으로 변환

  19. 19

    overflow-y를 사용할 때 스크롤 버벅 거림 줄이기 : scroll;

  20. 20

    Java에서 Apache POI를 사용하여 테이블 크기 및 간격을 단어로 설정하는 방법

  21. 21

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

뜨겁다태그

보관