簡単に言えば、.NET領域でRubyのキュウリ(テスト可能なユースケースストーリーを定義するための人間が読めるDSL)に似たライブラリに出くわした人はいますか?
回答:
SpecFlowもチェックする必要があります、.NETでBDDを実行するためのオープンソースプロジェクトであるます。
SpecFlowは、キュウリと同じ定義形式(Gherkin)を使用していますが、ステップ定義は.NETで記述できます。基本的に、機能ファイルから単体テストクラス(NUnit、MsTest、xUnitなど)を生成するため、実際の単体テストと同じように、同じ単体テスト実行エンジンを使用できます。このようにして、BDD機能テストを統合ビルドに統合することも簡単になります。
最近のバージョンでは、SpecFlowにはVisual Studio 2010の構文カラーリング機能があり、SilverlightおよびMono / MonoDevelopがサポートされています。
このスペースには3つの可能性があるようです。
CucumberとIronRubyを使用します。 これを始めるためのいくつかのステップに関するブログがあります。欠点はパフォーマンスのようです。一般的に遅いと言っているアカウントや、スピンアップが本当に遅いと言っているアカウントを読んだことがあります。ただし、IronRubyはまだ活発に開発中であるため、これは決定的なものではありません。
Cuke4Nukeを使用します。この商品を何度かお勧めしていると聞きました。実際には通常のRubyとCucumberを使用しますが、サーバーを介して.NETコードを実行します。幸いなことに、あなたがそれを使用しているので、そのすべての複雑さは透過的です。Cuke4Nukeは現在活発に開発されていません。
SpecFlowを使用します。これはCucumberの.NETポートです。このため、Cucumberのすべての機能を備えているとは限らず、追加の機能を備えている場合があります。良い点は、Rubyをインストールする必要がないことです。
現時点では、これらのどれが最良の選択肢であるかは明らかではないようです。個人的にはCuke4Nukeから始める予定です。
IronRubyでCucumberを実行するために実行したプロセスの詳細をブログに投稿しました:http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
StoryTellerは、厳密にはBDDではありませんが、ある程度関連しています。多少異なる種類のテストをサポートしているようですが、.NETで書かれています。JeremyMillersブログで詳細を読む
平易な英語の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文法に強い型付け、インテリセンス、およびドキュメントを追加します。
私はどのようにC#でキュウリを使用する方法を示す記事持ってhttp://blog.webintellix.com/2009/10/how-to-use-cucumber-with-net-and-c.html実行時間が劇的に改善しているがIronRuby1.0。