2009-03-02 5 views
4

나는 다른 것을 잘 만드는 것에 관해서 많은 다른 의견을 들었다. 하지만 다른 사람보다 하나의 단위 테스트 프레임 워크를 선택해야하는 이유에 대해서는 누구나 기술적 인 설명을 제공 할 수 있습니까? 예를 들어 Visual Studio Team System을 사용합니다. 왜 Visual Studio의 내장 유닛 테스트 기능보다 오픈 소스 테스트 프레임 워크 (NUnit, xUnit, MbUnit 등)를 선택해야합니까? 그게 그렇게 중요한 건가?.NET 단위 테스트 프레임 워크의 차이점은 무엇입니까?

편집 : 분명히 말하자면, "어떤 단위 테스트 프레임 워크가 가장 적합한가"에 대한 의견을 찾고 싶지 않습니다 ... 나는 그들이 어떻게 다른지에 대한 기술적 세부 사항을 찾고 있습니다. http://www.codeplex.com/xunit/Wiki/View.aspx?title=Comparisons 오픈 소스 솔루션 대 MSTEST 경우와

에서 NUnit과, MbUnit에, MSTEST 및 xUnit.net 사이의 속성과 주장의 차이를 비교 거기

답변

7

, 그것은 널리 볼 수있어 특정 MbUnit에있는 오픈 소스 패키지, xUnit.net은 단위 테스트를 둘러싼 혁신이 일어나고있는 곳입니다.

그런데, Peli de Halleux이 MS를 위해 일하고 있고 혁신을 일으키고있는 것 같아 Pex 것이 바뀔 수 있습니다.

+0

링크를 제공해 주셔서 감사합니다. 매우 도움이된다! –

2

저는 .NET 용 몇 가지 단위 테스트 프레임 워크로 작업 해 왔으며 다른 목적이 .NET과 다른 점을 발견하지 못했습니다.

원래 Visual Studio Team System에 포함 된 유닛 테스트 사용에 대한 논쟁은 Visual Studio의 덜 버전을 사용하는 사람들이 테스트를 실행할 수 없다는 것이 었습니다. 이제는 VS Pro에 단위 테스트가 포함되어 있다고 생각하기 때문에 문제는 드뭅니다. 저는 Visual Studio가 자동으로 많은 테스트 장치를 생성 할 수 있다고 생각했습니다.

실제로 단위 테스트를 작성하는 한, 내가 선택한 도구가별로 중요하지 않다고 생각합니다.

5

저는 NUnit과 Microsoft의 동일한 버전에 대해서만 연구했습니다. 제 의견으로는 그들은 다른 것보다 더 유사합니다. 그러나 프로젝트 설정에 따라 적절한 재정적 고려가 필요합니다.

저렴한 테스트를 거친 무료 SKU에서는 Microsoft의 테스트 프레임 워크를 사용할 수 없지만 전체 패키지를 지불하면 (저렴하지는 않습니다. 알고 있습니다) 단위 테스트, 테스트 러너 및 코드 범위를 단일 패키지, 매우 편리합니다.

NUnit으로 전환하면 VS 통합을 포기하거나 TestDriven.NET 또는 Resharper와 같은 테스트 러너를 가져와야합니다. 내가 이것을 보았을 때 둘 다 상업적 사용을위한 라이센스가 필요했습니다. 나는. 개발자 당 비용이 증가합니다. 또한이 도구에는 코드 커버리지가 없으므로 NCover와 같은 것을 사용해야합니다. 다시 말하지만, 이것은 내가 확인했을 때, 상업적 사용을위한 라이센스를 가지고 있었다.

라이센스를 변경했을 수 있으므로이 기간이 지나지 않았지만 개발자 당 추가 비용은 Microsoft 솔루션을 선택하는 이유 중 일부였습니다. VS Express와 다른 도구는 VS Team Foundation보다 저렴하지만 어쨌든 우리는 VS TF와 함께 가야만하므로 좋을 수도 있습니다.

오픈 소스/비영리 프로젝트를 수행중인 경우 무료 버전을 얻을 수 있다고 생각합니다.

+0

하지만 왜 ReSharper없이 코드를 작성하고 싶습니까? :) – TrueWill

+0

실제로 Resharper를 사용하고 있으며 훌륭한 도구이지만 설치 비용과 복잡성이 증가한다는 사실은 변하지 않습니다. –

+0

Jetbrains (누가 ReSharper를 만들었습니까?)는 이제 자신의 코드 적용 애플리케이션을 별도의 애플리케이션으로 제공합니다. http://www.jetbrains.com/dotcover/ –

관련 문제