.NET 영역에서 Ruby의 오이 (인간이 읽을 수있는 사용 사례 스토리 정의용 DSL)와 유사한 라이브러리를 접한 사람이 있습니까?
답변
.NET에서 BDD를 수행하는 오픈 소스 프로젝트 인 SpecFlow 도 확인해야합니다 .
SpecFlow는 오이와 같은 동일한 정의 형식 (Gherkin)을 사용하지만 .NET에서 단계 정의를 작성할 수 있습니다. 기본적으로 기능 파일에서 단위 테스트 클래스 (NUnit, MsTest, xUnit 등)를 생성하므로 실제 단위 테스트에서와 같이 동일한 단위 테스트 실행 엔진을 사용할 수 있습니다. 이렇게하면 BDD 기능 테스트를 통합 빌드에 더 쉽게 통합 할 수 있습니다.
최신 버전에서 SpecFlow는 Visual Studio 2010에 대한 구문 색상 지정 기능과 Silverlight 및 Mono / MonoDevelop을 지원합니다.
답변
확실한. 오 이라고 합니다. Cucumber 예제 디렉토리 에 .NET 코드를 테스트하는 방법에 대한 예제 와 .NET 및 Mono 모두에 대한 Cucumber Wiki의 문서가 있습니다.
답변
이 공간에는 세 가지 가능성이있는 것 같습니다.
-
Cucumber와 IronRuby를 사용하십시오. 이를 시작하기위한 몇 가지 단계에 대한 블로그 가 있습니다. 단점은 성능 인 것 같습니다. 일반적으로 느리다고 말하는 계정 과 스핀 업이 정말 느리다고 말하는 계정을 읽었 습니다 . IronRuby는 아직 활발하게 개발 중이기 때문에 결정적이지는 않습니다.
-
Cuke4Nuke를 사용하십시오 . 이 제품을 몇 번 추천한다고 들었습니다. 실제로 일반 Ruby와 Cucumber를 사용하지만 서버를 통해 .NET 코드를 실행합니다. 다행히도 모든 복잡한 문제는 사용할 때 투명합니다. Cuke4Nuke는 더 이상 개발 중이 아닙니다.
-
SpecFlow를 사용하십시오 . 이것은 Cucumber의 .NET 포트입니다. 이로 인해 오이의 모든 기능이 제공되지 않을 수 있으며 추가 기능이있을 수 있습니다. 좋은 점은 Ruby를 설치할 필요가 없다는 것입니다.
현재로서는 이들 중 어떤 것이 최선의 선택인지 명확하지 않은 것 같습니다. 개인적으로 Cuke4Nuke로 시작할 계획입니다.
답변
나는 IronRuby로 Cucumber를 실행하기 위해 따르는 과정을 자세히 설명하는 블로그 게시물을 작성했습니다 : http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
답변
StoryTeller는 엄격하게 BDD는 아니지만 다소 관련이 있습니다. 다소 다른 종류의 테스트를 지원하는 것 같지만 .NET으로 작성되었습니다. Jeremy Millers 블로그 에서 자세히 알아보기
답변
일반 영어로 된 BDD는 Concordion.NET으로 할 수 있습니다 . 예상되는 동작의 사양은 HTML로 작성됩니다.
Concordion.NET 테스트에는 모든 구조의 모든 문장을 사용할 수 있습니다. 예를 들어 “잔액이 10 $ 인 은행 계좌를 주었을 때 20 $의 인출이 시작되면 거래가 실패합니다”와 같은 문장을 작성할 필요가 없습니다. 대신 “계정에 10 $의 잔액이 충분하지 않은 경우 20 $의 거래가 실패합니다”와 같은 모든 유형의 문장을 사용할 수 있습니다.
Concordion.NET 테스트는 다양한 환경에 통합 된 NUnit의 도움으로 실행됩니다 : https://github.com/concordion/concordion-net
답변
StoryQ도 있습니다. 이것은 클라이언트를 다시보고 할 수있는 사용자 스토리에 대한 개발자 중심의 접근 방식입니다. http://storyq.codeplex.com
StoryQ는 .NET 3.5 용 이식 가능한 (단일 dll) 임베디드 BDD 프레임 워크입니다. 기존 테스트 실행기 내에서 실행되며 인간 친화적 인 테스트 출력 (html 또는 텍스트)을 생성하는 데 도움이됩니다. StoryQ의 유창한 인터페이스는 BDD 문법에 강력한 타이핑, 지능 및 문서를 추가합니다.