2009-06-06 2 views
1

새로운 C# 응용 프로그램을 시작하려고합니다. 다소 시간이 걸릴 것입니다 (1 년 이상 읽음). 크로스 플랫폼을 유지하고 싶습니다. 즉 Mono를 사용하여 작동해야하지만 기본 개발 플랫폼은 Visual Studio입니다.새로운 .NET 프로젝트를위한 권장 단위 테스트 프레임 워크

이제 테스트 프레임 워크에 대해 살펴 보았습니다.하지만 향후 휴대 성과 안정성면에서 어느 것이 좋을지 궁금합니다. 지금 당장 nUnit이 표준으로 보이지만 xUnit.net을 통해 좀 더 적극적으로 개발 된 것처럼 보일지 모르겠습니다. 아니면 MSTest만을 사용해야합니까? 결국 MSTest는 수년 동안 지원 될 것으로 기대됩니다. Java의 경우 JUnit은 분명히 사방 팔방으로 지원되기 때문에 명확하게 구분할 수 있지만 .NET 환경은 훨씬 더 단편화 된 것처럼 보입니다.

그래서 주요 질문은 기능 등이 아닙니다. (MSTest는 그 방향으로는별로 좋아 보이지 않습니다.) 오히려 장기적인 안정성입니다. 이러한 관점에서 어떤 단위 테스트 프레임 워크를 추천 할 수 있습니까?

답변

3

MSTest는 물론 이식 가능하지 않으며 Visual Studio에 연결됩니다. Mono를 목표로한다면 Mono에서 테스트를 수행하는 것이 이상적입니다. Mono itself uses nUnit 또는 다소 nUnitLite - 귀하의 결정에 영향을 미칠 수 있습니다. 당신의 도구 세트에 TestDriven.Net 또는 Resharper를 추가하면 VS에서 쉽게 NUNIT를 실행할 수 있습니다 -하지만 그건 문제가 있다면 당신은 내가 당신이 주관적인 답을 찾고있는 것 같아요 NUnitit

1

을 시도 할 수 있습니다 그들은 무료로하지 않습니다. 나는 NUnit을 좋아한다. "인터페이스"의 안정성은 나에게 아무런 문제도 일으키지 않았다. 모든 IDE에서 잘 작동하며 많은 빌드 도구와 통합되어 있습니다. 또한 JUnit을 알면 NUnit이 매우 자연 스럽습니다.

1

NUnit은 어디에서나 지원됩니다. 우리의 (200+ 개발자) 상점은 MSTest에서 NUnit로 옮겨 갔고 지금까지는 도구 지원이 부족하지 않은 문제가 발생하지 않았습니다. 실제로는 NUnit 주변의 지원 인프라가 매우 광범위합니다. 이것은 Hudson 및 Cruise Control과 같은 지속적인 통합 시스템을위한 것입니다.

우리는 NUnit의 개발이 계속 매우 활발하다는 것을 알고 있습니다. 버전 2.5에는 XUnit에서 가져온

Assert.Throws
과 같은 기능이 포함되어 있지만 사용하는 테스트와 하위 호환성을 유지합니다.
[ExpectedException]

MSTest에는 이러한 기능이 많이 없습니다.

[TestCase]
과 같은 일부는 오픈 소스 프레임 워크에서 매우 유용합니다. 단지 "보잘것없는"것이 아니라 작성하고 디버그해야하는 테스트 코드의 양을 줄입니다.

MSTest의 주요 장점은 Team Foundation Server와의 긴밀한 통합입니다. 단위 테스트를 버그 보고서 및 빌드 번호와 연결할 수 있습니다. 사용법을 충분히 익히면 편리한 기능입니다.

관련 문제