C # 용 NUnit은 Visual Studio에 통합 된 단위 테스트 기능과 어떻게 비교됩니까?


12

C # .NET을 사용하여 개발 된 중간 규모 데스크톱 응용 프로그램을 개발하려면 팀에서 일해야합니다. 이 전에는 단위 테스트 및 테스트 중심 개발을 적용하지 않았습니다. Unit Testing C # 응용 프로그램을위한 많은 도구와 프레임 워크가 있다는 것을 알고 있습니다. 현재로서는 Nunit과 Visual Studio와 통합 된 단위 테스트 기능을 알고 있습니다.

알고 싶습니다. 두 사람은 어떻게 비교합니까?

답변:


14

둘 사이에 약간의 중복이 있습니다. NUnit은 전신이며 결과적으로 더욱 성숙합니다. C # 단위 테스트 프레임 워크는 더 젊지 만 Visual Studio와 통합됩니다.

나는 JUnit이 왕이되는 Java 세계에서 왔으며 (다른 것들도 있지만 인기는 없습니다), NUnit 2.5.x는 JUnit 4의 작동 방식과 정말 잘 어울립니다. 사실, 그것은 Java 대응보다 훨씬 잘 작동합니다.

테스트 정의에 관한 한 NUnit을 선호합니다. 물론 MS Test는 클래스에 적용되는 유사한 (그러나 다른) 속성을 가지고 있지만 일부 유형의 테스트에서 약간의 작업을 저장할 수있는 기능이 부족하다고 생각합니다. StackOverflow 에서 비슷한 토론 을 확인하고 싶을 수도 있습니다 .

NUnit에 내장 된 새로운 어설 션 모델 ( Hamrest 스타일 어설 션을 사용하고 있음 )이 읽기 쉽고 확장 가능하기 때문에 좋아합니다 .

  • NUnit은 더 나은 타사 지원을 제공하고 MS Test는 더 나은 통합 기능을 제공합니다.
  • NUnit은 더 나은 유연성과 확장 성을 가지며 MS Test는이 영역에서 어려움을 겪을 것입니다.
  • 둘 다 단위 테스트를 실행하고 결과를 확인하십시오. 둘 다 TDD에서 작동합니다.

3

전용 MSBUILD 서버 양식 TFS에서 실행하기 위해 빌드 스크립트를 작성해야 할 때 눈에 띄는 유일한 차이점은 nUnit을 설정하고 nUnit 테스트 결과를 얻는 것이 매우 어려워서 설정하고 MSTest에 대한 결과를 얻는 것이 매우 쉬웠습니다.

또한 Resharper에는 MSTest 테스트를 테스트 러너에서 실행할 수없는 문제가있었습니다. 최신 버전에서는이 문제가 해결되었으므로 이전 버전의 Resharper를 사용하는 경우 여전히 문제가 될 수 있습니다.

Roy Oshereve 의이 게시물 은 여전히 ​​좋은 개요입니다.

추신 : 다른 답변을 삭제했지만 전혀 도움이되지 않았습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.