2010-01-01 6 views
7

C#으로 단위 테스트를 시도하고 있습니다. 여러 사람들이 NUtit을 사용하여 MSTest보다 우수하다고 말했고 (분명히, 나는 잘 모른다) ReSharper가 사용하고있는 지원도 매우 훌륭합니다.어떻게 ReSharper로 NUnit 테스트를 만들 수 있습니까?

이제는 내 인생에서 단 한번도 단원 테스트를 작성한 적이 없습니다. (저와 함께, 저는 대학생입니다). ReSharper는 멋진 성공을 위해 다른 사람 (부담없이 어깨 너머로 보이는)을 보았던 멋진 CreateUnitTests 컨텍스트 메뉴 옵션을 가지고 있습니다. 메소드에서 마우스 오른쪽 버튼을 클릭하고 CreateUnitTests를 선택하면 거기에 테스트 스켈레톤이 만들어집니다. 중요한 부분 만 채우면됩니다.

이제 동일한 것을 시도해 보면 ReSharper가 새로운 테스트 프로젝트를 만들기를 원합니다. 내가 허용하면 분명히 MSTest 테스트 템플릿이 포함 된 MSTest 프로젝트가 생성됩니다. 하지만 이미 "nunit.framework"를 참조하고 ReSharper가 실행하려는 것보다 더 많은 NUnit 테스트를 수행하는 클래스 라이브러리 프로젝트가 있습니다. 여전히 MSTest 테스트 템플릿은 오직 "테스트 프로젝트"프로젝트에서만 생성됩니다.

내가 뭘 잘못하고 있니? 내가 뭔가 잘못하고 있거나 ReSharper로 불가능한 NUnit 테스트 템플릿을 만들고 있습니까? 나는 그물을 검색하고 ReSharper와 NUnit에 대한 문서를 읽었으며 여전히 불가능하다는 것을 알아낼 수 없다.

누구든지 ReSharper + NUnit 사용에 대한 안내를 제공 할 수 있다면 고맙겠습니다.

편집 : ReSharper에서 4.5 NUnit과 2.5.3

EDIT2을 사용하고 있습니다 : 분명히 나는 ​​바보입니다. CreateUnitTests는 ReSharper의 일부는 아니지만 Visual Studio의 일부이므로 MSTest에서만 작동합니다.

답변

12

Resharper가 만든 테스트 프로젝트에서 Microsoft 단위 테스트 DLL에 대한 참조를 제거합니다 (이름은 기억하지 않지만 긴 이름 임).

그런 다음 nunit.framework.dll이라는 새 참조를 추가하려면 참조 추가 대화 상자의 첫 번째 탭에서 찾으십시오.

단위 테스트 클래스 파일에 using NUnit.Framework을 추가하십시오.

당신은 다음의 속성을 변경해야합니다 : 당신이 MSTEST 프로젝트로 끝날 경우

[TestClass] to [TestFixture] 
[TestMethod] to [Test] 

그래서, 대신 NUnit과를 얻을 수 위의 단계를 사용합니다.

참고 : Resharper 4.5 이상에서는 MSTest 및 NUNit 테스트를 기본적으로 지원합니다. 그래서 대신 그걸 시도 할 수 있습니다.

+1

그러나 CreateUnitTests와 새로운 테스트를 추가 다시 Microsoft 테스트 DLL에 대한 참조를 추가하고 다시 대신 등 TestFixture의 TestClass에 사용 ... 나는이를 제거해야합니다 아주 시간이? ReSharper 만 MSTest 테스트 템플릿을 만들 수 있다는 의미입니까? – Lucas

+3

Resharper의 옵션에 익숙하지 않습니다. Resharper가 단위 테스트를 생성 할 수있는 옵션을 제공하는지 확인하십시오. Visual Studio 2008 Team System을 사용하고 메소드를 마우스 오른쪽 버튼으로 클릭하면 '단위 테스트 만들기'옵션이 제공됩니다. 이것은 VS의 일부이기 때문에 항상 MSTest를 사용합니다. Resharper가이 작업을 수행하는지 확실하지 않습니다. 하나는 Resharper (Tools-> Addins)를 비활성화하고 처음부터 단위 테스트를 만드는 것입니다. MSTest를 사용하고 있다면 Resharper가 아닙니다. –

+0

아, 알겠습니다. 분명히 나는 ​​바보 야. – Lucas

5

NUnit을 사용하기 위해 마법사를 실행할 필요가 없습니다. 클래스 라이브러리를 만들고 NUnit에 대한 참조를 추가하고 테스트에 해당 속성을 표시 할 수 있습니다. 마법사는 MSTest에만 해당되며 그 이후에도 필수는 아닙니다.

단위 테스트가 끝나면 ReSharper 테스트 러너가이를 감지하고 왼쪽 여백에 몇 가지 아이콘을 표시하여 테스트를 실행/디버그 할 수 있습니다. 예를 들어 여기를 첫 번째 이미지를 참조하십시오

NUnit and ReSharper

관련 문제