programing tip

.NET 단위 테스트 패키지?

itbloger 2020. 11. 28. 08:49
반응형

.NET 단위 테스트 패키지?


몇 년 동안 풀 타임으로 사용하지 않고 좀 더 많은 .NET으로 돌아가서 요즘 좋은 단위 테스트 패키지가 무엇인지 궁금합니다.

저는 NUnit (몇 년 전)에 대해 잘 알고 있으며, rspec과 같은 것을 목표로 삼고 IronRuby를 잠시 사용해 보았지만 그 이상은 잘 모릅니다.

나는 이것을 위해 구글을 검색하고 그것을 하루라고 부를 수 있다는 것을 알고 있지만 여기에서 질문을하면 더 나은 정보에 입각 한 응답을 얻을 수있을 것 같다 :-)

제안?


너무 많아서 미쳤습니다. 미친 것 같아요.

  • 보수적 유형 (나)의 경우 NUnit 은 여전히 ​​사용 가능하며 여전히 가능합니다.
  • Microsoft 유형의 경우 MSTest 가 적합하지만 Nunit에 비해 느리고 투박합니다. 또한 값 비싼 Visual Studio 버전에 큰 비용을 지불하지 않으면 코드 적용 범위가 부족합니다.
  • 도 있습니다 MbUnit에 . NUnit과 비슷하지만 RowTest (다른 매개 변수로 동일한 테스트 실행) 및 Rollback (테스트 후 찾은 것처럼 데이터베이스를 다시 배치)과 같은 멋진 기능이 있습니다.
  • 마지막으로 xUnit.net 은 약간의 태도가있는 트렌디 한 옵션입니다.
  • 아, 그리고 TestDriven.NET 은 Nunit과 MBunit 모두에 대한 IDE 통합을 제공합니다.

나는 그들이 모두 괜찮다고 확신합니다. 하나의 IDE에서 모든 것을 즉시 사용할 수있는 편리함을 누리지 않는 한 MSTest에서 벗어나겠습니다.

Scott Hanselman 은 바로이 주제에 대한 팟 캐스트를 가지고 있습니다.


여기서는 NUnit과 MBUnit을 사용 합니다. Visual Studio 내에서 단위 테스트를 실행하기 위해 TestDriven.NET사용 합니다. 우리는 강력하고 권장되는 RhinoMocks 를 모의 프레임 워크로 사용합니다.


NUnit을 고수하십시오. MSTest 근처에는 가지 마십시오.

NUnit + ReSharper는 함께 작업하기에 절대적인 기쁨입니다.


저는 NUnit을 사용했지만 이제는 두 가지 주요 기능에 대해 MbUnit을 사용하는 경향이 있습니다. 1. RowTest 기능을 사용하면 여러 매개 변수 세트에서 동일한 테스트를 쉽게 실행할 수 있습니다. 이는 철저한 범위를 원하는 경우 중요합니다. 2. 롤백 기능을 사용하면 매 테스트 후 변경 사항을 롤백하면서 데이터베이스에 대해 테스트를 실행할 수 있으므로 매번 데이터베이스를 정확히 동일한 상태로 유지할 수 있습니다. [Rollback] 속성을 추가하는 것만 큼 쉽습니다.

MbUnit의 또 다른 좋은 점은 구문이 NUnit과 거의 동일하다는 것입니다. 따라서 NUnit 아래에 이미 전체 테스트 베드가있는 경우 코드를 변경하지 않고도 참조를 전환 할 수 있습니다.


xUnit.net은 N / MB / MS / Unit에 대해 약간 다른 접근 방식을 제공하는 것 같습니다.

rspec과 유사한 솔루션을 검색 할 때 (저는 rspec을 좋아하기 때문에) NSpec 도 발견 했습니다. 조금 말처럼 보이지만 NSpec Extensions 애드온 과 결합하여 C # 3 확장 메서드를 사용하면 꽤 멋져 보입니다.


다음을 사용합니다.

TestDriven.NET -Visual Studio 용 단위 테스트 추가 기능

Typemock Isolator-.Net 단위 테스트를위한 모의 프레임 워크

NUnit -C #에있는 오픈 소스 단위 테스트 프레임 워크입니다.


이것은 오래된 질문이지만 Gallio v3.1이 이제 IronRuby를 통해 RSpec을 지원한다는 사실이 흥미로울 수 있습니다.


저는 TestDriven.NET (ReSharper를 사용하지만)을 좋아하고 XUnit.net에 매우 만족 합니다. 많은 사람들이 싫어하는 테스트 대신 사실을 사용하지만 용어의 차이가 마음에 듭니다. 소프트웨어에 대해 자동으로 증명 가능한 사실 모음을 생각하고 변경할 때 위반하는 사실을 확인하는 것이 유용합니다.

주의 그 비주얼 스튜디오 2008 프로페셔널 (이상) 이제 통합 된 단위 테스트와 함께 제공 (그것은 단지 팀 시스템 버전과 함께 사용할 수 사용) 및 사용자의 요구에 적합 할 수있다.


ironRuby를 사용하여 .net lib를 테스트하는 작은 예를 만들었습니다. http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx


NUnit을 사용했지만 더 많은 기능이 있기 때문에 MbUnit으로 전환했습니다. 저는 RowTest를 좋아합니다. 테스트를 매개 변수화 할 수 있습니다. NUnit은 조금 더 나은 도구 지원을 제공합니다. ReSharper를 사용하여 MbUnit 테스트를 실행하고 있습니다. MbUnit에 대한 SetUp 메서드를 실행하는 TestDriven.NET에 문제가 있습니다.


이것은 정말로 제 개인적인 의견입니다 (포럼이기 때문에 중복되는 것 같습니다). NUnit, MSTest, ect는 모두 똑같은 일을합니다. 그러나 나는 NMock이 필수 불가결하다고 생각합니다.

NMock 또는 다른 모의 패키지는 단위 테스트가 아니지만 단위 테스트를 훨씬 쉽게 수행 할 수 있도록 도와줍니다.


나는 MbUnit , er, Gallio를 좋아 합니다. 나에게 가장 중요한 것은 Visual Studio 내에서 훌륭한 도구 지원이 있다는 것입니다. 이를 위해 MbUnit 테스트 러너 가있는 Resharper를 사용 합니다. 많은 사람들이 TestDriven.NET 을 테스트 러너로 좋아하는 것 같습니다 .

참고 URL : https://stackoverflow.com/questions/1760/net-unit-testing-packages

반응형