2012-07-02 2 views
8

참고 :이 프로젝트에는 TestDriven.NET 3.0.2749 및 NUnit 2.6.0.12051을 사용하고 있습니다.TestDriven.NET 및 NUnit을 사용하여 테스트 클래스에서 모든 테스트 실행

TestDriven.NET과 NUnit을 모두 설치했으며 마우스 오른쪽 단추를 클릭하여 상황에 맞는 메뉴를 통해 테스트 클래스에서 모든 테스트를 실행하도록 TestDriven.NET을 얻으려고합니다. TestDriven.NET 문서에서

: 코드 편집기 창이 선택되면

가 실행하는 테스트 (들) 캐럿의 위치에 의해 결정된다; 개별 테스트는 그림 2와 같이 테스트 메소드 내부를 마우스 오른쪽 버튼으로 클릭하고 '테스트 실행'을 선택하여 실행됩니다. 테스트 고정물의 모든 테스트는 클래스 내부를 마우스 오른쪽 버튼으로 클릭하고 (어떤 메소드 외부에서도) '테스트 실행'을 선택하여 실행됩니다. 네임 스페이스의 모든 테스트는 네임 스페이스를 마우스 오른쪽 단추로 클릭하고 '테스트 실행'을 선택하여 실행됩니다.

나는 성공적으로 성공적으로 주어진 클래스의 모든 테스트를 실행합니다 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴와 NUnit과 GUI 러너를 사용하여 특정 시험 방법을 실행할 수 있습니다,하지만 난 빠른 액세스 TestDriven.NET가 제공하는 사용하고 싶습니다 이 일은 내가 개발하는 동안.

대상 유형이 알려진 테스트 프레임 워크 또는 '홈페이지'방법에서 테스트를 포함하지 않는 : 나는 시험 방법 이외의 caret를 배치 할 때

나는 추적 오류가 나타납니다.

업데이트 1 : 예제 코드 추가. 테스트에

예제 코드 :

namespace TDDN.Framework 
{ 
    public class ExampleClass 
    { 
     public ExampleClass() { } 

     public Int32 Add(Int32 x, Int32 y) 
     { 
      return x + y; 
     } 

     public Int32 Subtract(Int32 x, Int32 y) 
     { 
      return x - y; 
     } 
    } 
} 

단위 테스트 : TestDriven.NET와 NUnit를 (3.0.2749 2.6의 동일한 버전을 사용하는 경우 난 그냥이 정확한 문제가 발생

using NUnit.Framework; 
using TDDN.Framework; 

namespace TDDN.UnitTests 
{ 
    [TestFixture] // Cursor caret placed here results in error above. 
    public class ExampleClassTests 
    { 
     [Test] // Cursor caret placed here works. 
     public void Add_SumTwoIntegers_SumReturned() 
     { 
      ExampleClass exampleClass = new ExampleClass(); 

      Assert.AreEqual(10, exampleClass.Add(5, 5)); 
     } 

     [Test] // Cursor caret placed here works also. 
     public void Subtract_SubtractTwoIntegers_DifferenceReturned() 
     { 
      ExampleClass exampleClass = new ExampleClass(); 

      Assert.AreEqual(5, exampleClass.Subtract(10, 5)); 
     } 
    } 
} 
+0

작동하도록되어 있기 때문에 코드를 게시하십시오. 아마도 사용 된 속성에 문제가있을 수 있습니다. – seldary

답변

16

.0.12051).

문제는 TestDriven.NET 3.0이 NUnit 2.6을 지원하지 않기 때문에 NUnit [Test] 및 [TestFixture] 특성을 인식하지 못한다는 것입니다. 따라서 TestDriven.NET은 여전히 ​​개별 테스트 기능을 실행하지만 Ad Hoc (테스트 할 때 통과/실패/건너 뛰기 메시지의 끝에 표시됨)로 실행됩니다.

NUnit 2.6 (참조 : https://groups.google.com/d/msg/nunit-discuss/pTCDx2_L8jU/TlpULzE36wEJ)을 완벽하게 지원하는 최신 버전의 TestDriven.NET (3.3 Beta 2)을 설치하여이 문제를 해결할 수있었습니다. 이제 다음 주소의 Fixture에서 모든 테스트를 실행할 수 있습니다. 테스트 출력의 끝 부분에 한 번보고 (NUnit 2.6.0) 표시됩니다.

+0

제안 된 솔루션이 저에게 맞는지 확인할 수 있습니다. TestDriven.NET 3.4.2784 Beta를 설치했고 커서 캐럿이'[TestFixture]'줄에 예상대로 위치 할 때 모든 테스트를 실행할 수있었습니다. 고마워, 크리스티안. – Noren

0

캐럿 게재 위치에 정확히 동일한 오류 메시지 및 유사한 문제가 발생했습니다.

나는 TestDriven.Net의 최신 버전을 이미 가지고있다.

내 문제는 내 새 TestClass에 지정된 범주가없고 필터 (도구 -> TestDriven.Net -> 일반 -> 범주 -> 범주에 테스트 포함)였습니다.

올바른 카테고리를 지정하면 문제가 해결됩니다.

동일한 오류 메시지이지만 다른 문제 및 해결 방법이 있습니다.

관련 문제