2013-03-06 4 views

답변

0

나는 모두 동의합니다. 요점은 아닐지 모르지만 좋은 것을 찾는 것이 훨씬 어렵습니다. Mocking Framework DbContext 클래스를 모의하기가 쉽지 않기 때문에 (특히 Sql Server를 사용할 때). 사용하는 경우 TypeMock을 추천 할 수 있습니다. 그렇지 않으면 RhinoMocks이 좋습니다.

+0

당신은 DbContext을 조롱에 대해 이야기 할 때 당신이 무슨 뜻인지 설명 할 수 있습니까? –

+0

특히 Sql Server를 사용할 때 DbContext가 모의하기가 쉽지 않다는 것을 의미합니까? 내가 아는 것을 기반으로, DbContext를 모의 해 실제 데이터베이스에 접근하지 않아도되므로 데이터베이스가 없어도 테스트 할 수 있습니다. –

0

나는 xUnit를 권 해드립니다. 매우 단순하고 간결한 매우 현대적인 단위 테스트 프레임 워크입니다. xUnit에 대해 가장 좋아하는 기능은 테스트 메소드 당 하나의 객체 인스턴스가 있다는 것입니다. 즉, 테스트가 서로 영향을 줄 가능성이 훨씬 적습니다. 예 : NUnit 이 기능이 없으므로 쉽게 벗겨지기 쉬운 테스트로 이어질 수 있습니다. 또한 xUnit은 표준 .NET 기능을 사용하여 설정 및 해체와 같은 작업을 수행합니다. 생성자와 소멸자를 통해이 작업을 수행하므로 새로운 규칙을 배울 필요가 없으며 자신 만의 규칙을 사용할 수 있습니다. 마지막으로, xUnit 테스트 클래스는 사용되는 특성이 적고 어설 션 방법이 짧기 때문에 IMHO가 훨씬 멋지게 보입니다.

0

당신이 언급 한 세 가지 모두 매우 견고하며 작업을 완료하게됩니다. 개인적으로는 선호합니다 MSTest. 그것은 배우고 사용하는 것은 간단하지만 괜찮은 기능을 가지고 있습니다. xUnit과 마찬가지로 테스트 실행 전 및 실행 후에 [TestInitialize] 및 Clean [TestCleanup]을 설정할 수도 있습니다. 나의 제안은 그것을 취하고 그것을 배울 것입니다. 일단 당신이 그것을 알게되고 그것의 강점과 약점을 배우면 당신은 당신이 일을 더 빨리 그리고/또는 더 잘 끝내도록 도울 수있는 또 다른 것으로 이동할 수 있습니다.

1

MSTest를 사용하지 말 것을 권합니다.

현재 프로젝트에서 우리는 약 1 년 동안 MSTest를 사용하고있었습니다. 나는 NUnit을 수년간 사용해 왔지만 다른 사람들은 단위 테스팅에 익숙하지 않았기 때문에 타사 테스트 프레임 워크를 주자와 함께 사용하지 않기 위해 VST와 통합 된 MSTest를 사용했습니다. 피타 였어!

MSTEST를 사용하면 VS에 대한 모든 테스트 목록을 보관해야합니다. 이 목록을 유지 관리해야합니다 (새 테스트/제거 된 테스트 추가/제거). 테스트는이 목록에서 사라지고 이유를 말할 수 없습니다. 이 목록을 유지하는 파일은 병합되지 않습니다! 따라서 새로운 테스트를 추가 할 때 다른 사람이 테스트를 추가하면 해결해야 할 충돌이 생깁니다. 나는 이유를 모르겠다. 그것은 아무런 문제없이 병합되어야합니다.

MSTEST를 사용하지 않는 이유를 찾을 수도 있습니다.

Why I'm migrating from MSTest to xUnit.net by Mark Seemann

관련 문제