.NET 용 오이 대안


80

.NET 영역에서 Ruby의 오이 (인간이 읽을 수있는 사용 사례 스토리 정의용 DSL)와 유사한 라이브러리를 접한 사람이 있습니까?

답변:


91

.NET에서 BDD를 수행하는 오픈 소스 프로젝트 인 SpecFlow 도 확인해야합니다 .

SpecFlow는 오이와 같은 동일한 정의 형식 (Gherkin)을 사용하지만 .NET에서 단계 정의를 작성할 수 있습니다. 기본적으로 기능 파일에서 단위 테스트 클래스 (NUnit, MsTest, xUnit 등)를 생성하므로 실제 단위 테스트에서와 같이 동일한 단위 테스트 실행 엔진을 사용할 수 있습니다. 이렇게하면 BDD 기능 테스트를 통합 빌드에 더 쉽게 통합 할 수 있습니다.

최신 버전에서 SpecFlow는 Visual Studio 2010에 대한 구문 색상 지정 기능과 Silverlight 및 Mono / MonoDevelop을 지원합니다.


35

확실한. 이라고 합니다. Cucumber 예제 디렉토리 에 .NET 코드를 테스트하는 방법에 대한 예제.NETMono 모두에 대한 Cucumber Wiki의 문서가 있습니다.


나는 이것을 시도했지만 ICucumber 래퍼를 실행하면서 계속 충돌했습니다. .yml 구성 파일이 누락되었다는 메시지가 표시됩니다.
Owen

여기에 설명 된 모든 것을 시도했습니다. thomaslundstrom.blogspot.com/2009/03/…
Owen

1
"cucumber.yml을 찾을 수 없습니다. cucumber.yml에서 프로필을 정의하는 방법에 대해서는 cucumber의 설명서를 참조하십시오. 인수없이 cucumber 명령을 사용하려면 'default'프로필을 정의해야합니다. 사용법은 '오이 --help'입니다. (Cucumber :: Cli :: YmlLoadError) ", 맞나요? 프로그램이 파일을 찾을 수 없다고 불평 할 때 명백한 질문은 파일이 실제로 거기에 있는지 여부입니다. 파일이 존재하지 않는 경우, 다음을 찾을 수 없습니다 이유는 어떤 명백한의 ...입니다, 때문에
요 르그 W MITTAG

1
나는 여전히 당신이 의미하는 바를 이해하지 못합니다. 귀하가 게시 한 링크는 귀하의 문제와 관련이 전혀 없습니다. "파일이있는 것 같다 "는 의미는 무엇 입니까? 파일을 작성하고 파일을 저장했습니다. 파일이 있는지 여부 를 알아야 합니다!
Jörg W Mittag

1
귀하의 예제와 위키 링크 404ing된다
mattumotu

20

이 공간에는 세 가지 가능성이있는 것 같습니다.

  1. Cucumber와 IronRuby를 사용하십시오. 이를 시작하기위한 몇 가지 단계에 대한 블로그 가 있습니다. 단점은 성능 인 것 같습니다. 일반적으로 느리다고 말하는 계정 과 스핀 업이 정말 느리다고 말하는 계정을 읽었 습니다 . IronRuby는 아직 활발하게 개발 중이기 때문에 결정적이지는 않습니다.

  2. Cuke4Nuke를 사용하십시오 . 이 제품을 몇 번 추천한다고 들었습니다. 실제로 일반 Ruby와 Cucumber를 사용하지만 서버를 통해 .NET 코드를 실행합니다. 다행히도 모든 복잡한 문제는 사용할 때 투명합니다. Cuke4Nuke는 더 이상 개발 중이 아닙니다.

  3. SpecFlow를 사용하십시오 . 이것은 Cucumber의 .NET 포트입니다. 이로 인해 오이의 모든 기능이 제공되지 않을 수 있으며 추가 기능이있을 수 있습니다. 좋은 점은 Ruby를 설치할 필요가 없다는 것입니다.

현재로서는 이들 중 어떤 것이 최선의 선택인지 명확하지 않은 것 같습니다. 개인적으로 Cuke4Nuke로 시작할 계획입니다.


2
사람이 읽기 위해, Cuke4Nuke이 SpecFlow의 찬성되지 않는 것 같다 richardlawrence.info/2011/10/21/the-future-of-cucumber-on-net
GuiSim

3

나는 IronRuby로 Cucumber를 실행하기 위해 따르는 과정을 자세히 설명하는 블로그 게시물을 작성했습니다 : http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/


나는 그것을 통해 실행하고 당신에게 돌아갈 것입니다.
Owen

또한 MRI 에서처럼 컬러 콘솔 출력을 얻을 수 있도록 win32console을 IronRuby로 이식하는 작업도하고 있습니다. github.com/hotgazpacho/ironruby-win32console
Will Green

3

StoryTeller는 엄격하게 BDD는 아니지만 다소 관련이 있습니다. 다소 다른 종류의 테스트를 지원하는 것 같지만 .NET으로 작성되었습니다. Jeremy Millers 블로그 에서 자세히 알아보기


3

일반 영어로 된 BDD는 Concordion.NET으로 할 수 있습니다 . 예상되는 동작의 사양은 HTML로 작성됩니다.

Concordion.NET 테스트에는 모든 구조의 모든 문장을 사용할 수 있습니다. 예를 들어 "잔액이 10 $ 인 은행 계좌를 주었을 때 20 $의 인출이 시작되면 거래가 실패합니다"와 같은 문장을 작성할 필요가 없습니다. 대신 "계정에 10 $의 잔액이 충분하지 않은 경우 20 $의 거래가 실패합니다"와 같은 모든 유형의 문장을 사용할 수 있습니다.

Concordion.NET 테스트는 다양한 환경에 통합 된 NUnit의 도움으로 실행됩니다 : https://github.com/concordion/concordion-net


2

StoryQ도 있습니다. 이것은 클라이언트를 다시보고 할 수있는 사용자 스토리에 대한 개발자 중심의 접근 방식입니다. http://storyq.codeplex.com

StoryQ는 .NET 3.5 용 이식 가능한 (단일 dll) 임베디드 BDD 프레임 워크입니다. 기존 테스트 실행기 내에서 실행되며 인간 친화적 인 테스트 출력 (html 또는 텍스트)을 생성하는 데 도움이됩니다. StoryQ의 유창한 인터페이스는 BDD 문법에 강력한 타이핑, 지능 및 문서를 추가합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.