.NETのキュウリ代替品


80

簡単に言えば、.NET領域でRubyのキュウリ(テスト可能なユースケースストーリーを定義するための人間が読めるDSL)に似たライブラリに出くわした人はいますか?

回答:


91

SpecFlowもチェックする必要があります、.NETでBDDを実行するためのオープンソースプロジェクトであるます。

SpecFlowは、キュウリと同じ定義形式(Gherkin)を使用していますが、ステップ定義は.NETで記述できます。基本的に、機能ファイルから単体テストクラス(NUnit、MsTest、xUnitなど)を生成するため、実際の単体テストと同じように、同じ単体テスト実行エンジンを使用できます。このようにして、BDD機能テストを統合ビルドに統合することも簡単になります。

最近のバージョンでは、SpecFlowにはVisual Studio 2010の構文カラーリング機能があり、SilverlightおよびMono / MonoDevelopがサポートされています。


35

承知しました。それはキュウリと呼ばれています。Cucumberのexamplesディレクトリに.NETコードをテストする方法のと、.NETMonoの両方のCucumberWikiのドキュメントがあります


私はこれを試みましたが、ICucumberラッパーを実行することでぶつかり続けました。私が受け取ったメッセージは、.yml設定ファイルが欠落していることを示していました。
オーウェン

ここでも説明されているすべてを試しました:thomaslundstrom.blogspot.com/2009/03/…–
オーウェン

1
このメッセージを参照していると思います:「cucumber.ymlが見つかりませんでした。cucumber.ymlでのプロファイルの定義に関するcucumberのドキュメントを参照してください。引数なしでcucumberコマンドを使用するには、「デフォルト」プロファイルを定義する必要があります。タイプ使用法については「cucumber--help」。(Cucumber :: Cli :: YmlLoadError) "、そうですか?プログラムがファイルを見つけることができなかったと文句を言うときの明白な質問は、ファイルが実際にそこにあるかどうかです。なぜなら、ファイルが存在しない場合には、それが見つからなかった理由は親切明らか...である
イェルクWミッターク

1
私はまだあなたが何を意味するのかよくわかりません。あなたが投稿したリンクは、あなたの問題とはまったく関係がありません。そして、「ファイルがそこにあるようだ」とはどういう意味ですか?あなたはファイルを書き、ファイルを保存しました、あなたはそれがそこにあるかどうかを知る必要があります!
イェルクWミッターク

1
あなたの例とウィキリンクは404ingです
mattumotu

20

このスペースには3つの可能性があるようです。

  1. CucumberとIronRubyを使用します。 これを始めるためのいくつかのステップに関するブログがあります。欠点はパフォーマンスのようです。一般的遅いと言っているアカウントや、スピンアップが本当に遅いと言っているアカウントを読んだことがあります。ただし、IronRubyはまだ活発に開発中であるため、これは決定的なものではありません。

  2. Cuke4Nukeを使用します。この商品を何度かお勧めしていると聞きました。実際には通常のRubyとCucumberを使用しますが、サーバーを介して.NETコードを実行します。幸いなことに、あなたがそれを使用しているので、そのすべての複雑さは透過的です。Cuke4Nukeは現在活発に開発されていません。

  3. SpecFlowを使用します。これはCucumberの.NETポートです。このため、Cucumberのすべての機能を備えているとは限らず、追加の機能を備えている場合があります。良い点は、Rubyをインストールする必要がないことです。

現時点では、これらのどれが最良の選択肢であるかは明らかではないようです。個人的にはCuke4Nukeから始める予定です。


2
これを読んでいる人にとっては、Cuke4NukeはSpecFlowを支持して非推奨になっているようです。richardlawrence.info/ 2011/10/21 / the
future

3

IronRubyでCucumberを実行するために実行したプロセスの詳細をブログに投稿しました:http//hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/


私はそれを実行し、あなたに戻ります。
オーウェン

また、win32consoleをIronRubyに移植して、MRIの場合と同じように色付きのコンソール出力を取得できるように取り組んでいます:github.com/hotgazpacho/ironruby-win32console
Will Green


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.