.NET 2.0에서 BDD/TDD를 구현하는 가장 좋은 방법은 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com/questions/2214

  •  08-06-2019
  •  | 
  •  

문제

내 응용 프로그램에 테스트 모음을 추가하려고 하는데 .NET 3.5용 최신 테스트 프레임워크로 이동할 수 없습니다.

사용할 수 있는 좋은 테스트 프레임워크에 대한 제안이 있는 사람이 있습니까?

도움이 되었습니까?

해결책

우리는 사용 Mb단위 그리고 리노 모의 그리고 그들은 함께 아주 잘 작동한다는 것을 증명했습니다.TDD를 수행할 때 어떤 형태로든 종속성 주입을 수행해야 하는 것은 거의 확실하지만 수동으로 수행할 수도 있지만 다음과 같은 IoC 컨테이너를 살펴볼 가치가 있습니다. 캐슬 윈저.

시작하려면 John Paul Bodhood의 스크린 캐스트를 살펴보는 것이 좋습니다. JPB 블로그

다른 팁

NUnit과 Rhino가 잘 어울리고 자동 조롱 컨테이너 관심이 있을 수도 있습니다.

BDD도 보고 계시다면 NBehave 아마도 좋은 선택 일 것입니다.그러나 단위 테스트(xSpec)와 관련된 BDD 스타일을 의미하는 경우 프레임워크를 추가하여 벗어날 수 있습니다(예: 특정 단위 약간의 동기화 설탕을 추가하세요). 하지만 보고 싶을 수도 있습니다. MSpec 또한 흥미롭습니다.

MSpec을 사용하여 BDD에 대한 Rob Conery의 스크린캐스트를 확인하세요.매우 인상적 http://blog.wekeroad.com/mvc-storefront/kona-3/

편집하다:이제 다음 접근 방식을 사용합니다. http://10printhello.com/the-one-bdd-framework-to-rule-them/

모의 객체 라이브러리의 경우 BSD 라이센스를 찾았습니다. Rhino.Mocks 오히려 기쁘게 생각합니다.

나는 사용하여 큰 성공을 거두었습니다. NUnit 또한.

나는 또한 사용했다 NMock 모의 객체가 필요할 때.추가 보너스로, 모의 객체를 생성하는 팩토리를 Mockery라고 합니다.

단위 테스트 실행을 용이하게 하기 위해 다음을 사용했습니다. TestDriven.NET 내가 코딩한 대로 단위 테스트를 실행합니다.또한, 나는 크루즈 컨트롤 .NET SVN을 보고 모든 새로운 커밋이 빌드되고 모든 단위 테스트를 통과하는지 확인합니다.

이것은 아마도 이미 말한 내용의 요약일 것입니다. 그러나 TDD의 경우 저는 개인적으로 Rhino Mocks와 MBUnit을 사용합니다.Rhino Mocks는 무료 오픈 소스인 모의 프레임워크입니다.Rhino Mocks의 장점은 NMock에서처럼 기대치를 설정할 때 마법의 문자열을 사용할 필요가 없다는 것입니다.

MbUnit에는 테스트 방법에 따라 입력을 다양화할 수 있는 RowTests 개념이 있기 때문에 MBUnit을 좋아합니다.MBUnit도 무료로 사용할 수 있습니다.

또한 단위 테스트 프레임워크에 대해 선택한 것이 CI(Continuous Integration Server)에서 지원되는지 확인하려고 합니다.Nunit은 Cruise Control.NET에서 기본적으로 지원되며 MBUnit이 ccnet에서 작동하도록 하려면 약간의 추가 작업을 수행해야 합니다.

IDE 관점에서 볼 때 TestDriven.NET이 있어야 합니다.TestDriven.NET을 사용하면 IDE에서 마우스 오른쪽 버튼을 클릭하고 테스트를 실행할 수 있으며 MBUnit, Nunit 등을 지원합니다.

NBehave는 제가 사용한 BDD 라이브러리입니다.다른 것을 사용해 본 적이 없어서 여러분과 비교하고 대조할 수는 없지만 NBehave는 MBUnit 팀의 Gallio에서 지원됩니다. 즉, TestDriven.NET을 사용하여 단위 테스트를 수행하는 것처럼 BDD 테스트를 실행할 수 있습니다.

Resharper도 적극 추천합니다.이 리팩토링 및 안내 도구를 사용하면 생산성이 크게 향상되는 것을 확인할 수 있습니다.테스트를 개발하는 동안 코드를 변경하는 데 도움이 됩니다.

도움이 되었기를 바랍니다

나는 외쳐야 할 것이다 Moq.당신을 성공의 구렁텅이로 안내하는 데 도움이 되는 깔끔하고 가벼운 조롱 프레임워크입니다.

TFS에 내장된 테스트 도구는 괜찮습니다. 작업을 완료할 수는 있지만 작업하기가 약간 번거로울 수 있습니다.생성된 보고서, 코드 범위 및 기타 일부 부분은 특히 나쁩니다. 50이 아닌 22에 대머리가 됩니다.

테스트를 정말 좋아한다면 지속적인 통합을 시도해 보세요.회귀로 인한 고통을 빠르게 느끼고 잠재적으로 최종 목표에 더 빨리 도달하는 데 도움이 될 것입니다.

무엇을 하든 몇 가지를 시도해 보고 시간이 있다면 어느 것이 가장 자연스러운지 확인하십시오.행운을 빌며 행복한 코딩을 하세요.

TFS와 함께 nUnit을 사용하는 것은 그리 어렵지 않습니다.이를 구현하기 위한 codeplex 프로젝트도 있습니다. 팀 빌드용 NUnit 결과를 창고에 "게시"하기도 합니다.

나는 그것을 시도하지 않았습니다. 그러나 TFS 구현에 관심이 있는 nUnit에 대규모 투자를 한 고객(또는 MSTest 도구보다 이를 선호하는 고객)에게 모든 것을 변환하려고 시도하는 대신 nUnit을 계속 사용하도록 조언하고 싶습니다. 기존 테스트.

NUnit 에서 이용 가능합니다 http://www.nunit.orgMS 스택에서 작업할 때에도 이것을 제안하고 싶습니다. MS가 아닌 프레임워크에 대한 지원은 우리 모두가 스택을 적합하게 사용자 정의할 수 있도록 올바른 방향으로의 확실한 움직임을 보여주는 MVC 미리 보기에서 발생합니다.

NUnit은 항상 제가 가장 좋아하는 것입니다.그러나 TFS를 소스 제어로 사용하는 경우 Microsoft Stack을 사용하는 것이 좋습니다.

나는 다음을 추천합니다:

TestDriven.NET - NUnit, MbUnit 등을 포함한 모든 주요 단위 테스트 프레임워크와 완전히 통합된 VS용 단위 테스트 추가 기능입니다.

Typemock 아이솔레이터- 조롱 프레임워크 .Net 단위 테스트

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

내 프로젝트에서는 NUnit과 TestDriven.NET을 사용하여 큰 성공을 거두었습니다.테스트 코드를 호스팅하기 위해 별도의 라이브러리를 만들거나 실행 파일이나 라이브러리에 넣을 수 있습니다.프로덕션 코드가 테스트 코드와 얽히기를 원하는지 여부에 따라 다릅니다.

종속성 주입의 경우 다음을 사용합니다. N주입 내 현재 프로젝트와 그 작업은 훌륭합니다.생성자 주입을 사용하는 경우 [Inject] 특성으로 코드를 복잡하게 만들 필요가 없습니다.

내 .NET 2.0 프로젝트에는 모의 라이브러리를 사용하지 않았지만 다른 .NET 3.5 프로젝트에는 사용할 것입니다. Moq

이 모든 것은 .NET 2.0 이상에서 작동합니다.(Moq 제외)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top