簡単に言えば、Ruby のキュウリ (テスト可能なユース ケース ストーリーを定義するための人間が読める DSL) に似たライブラリを .NET 分野で見つけた人はいますか?
8 に答える
また、.NET で BDD を実行するためのオープン ソース プロジェクトであるSpecFlowも確認してください。
SpecFlow はキュウリと同じ定義形式 (Gherkin) を使用していますが、.NET でステップ定義を記述できます。基本的に、機能ファイルから単体テスト クラス (NUnit、MsTest、xUnit など) を生成するため、実際の単体テストと同じように、同じ単体テスト実行エンジンを使用できます。このようにして、BDD 機能テストを統合ビルドに統合することも簡単になります。
最近のバージョンの SpecFlow には、Visual Studio 2010 の構文カラーリング機能と、Silverlight および Mono/MonoDevelop のサポートがあります。
もちろん。きゅうりといいます。Cucumber のサンプル ディレクトリに .NET コードをテストする方法の例と、Cucumber Wiki の.NETとMonoのドキュメントがあります。
このスペースには 3 つの可能性があるようです。
Cucumber と IronRuby を使用します。 これを開始するためのいくつかの手順に関するブログを次に示します。欠点はパフォーマンスのようです。私は、一般的に速度が遅いと言っているアカウントを読んだことがあります。ただし、IronRuby はまだ活発に開発されているため、これは決定的なものではありません。
Cuke4Nukeを使用します。この商品のおすすめは何度か聞いたことがあります。実際には通常の Ruby と Cucumber を使用しますが、サーバーを介して .NET コードを実行します。幸いなことに、その複雑さはすべて、使用中に透過的です。Cuke4Nuke は現在、積極的に開発されていません。
SpecFlowを使用します。これは Cucumber の .NET ポートです。このため、Cucumber のすべての機能を備えているわけではなく、余分な機能が含まれている場合があります。良い点は、Ruby をインストールする必要がないことです。
現時点では、これらのうちどれが最適なオプションであるかは明らかではないようです。個人的には Cuke4Nuke から始めようと思っています。
StoryTeller は、厳密には BDD ではありませんが、ある程度関連しています。やや異なる種類のテストをサポートしているようですが、.NET で記述されています。Jeremy Millers のブログで詳細を読む
プレーンな英語での BDD は、 Concordion.NETで実行できます。期待される動作の仕様は HTML で記述されています。
Concordion.NET テストには、任意の構造の任意の文を使用できます。たとえば、「銀行口座に 10 ドルの残高がある場合、20 ドルの引き出しを開始すると、トランザクションは失敗します」などの文を書く必要はありません。代わりに、「口座に 10 ドルの残高が不足している場合、20 ドルの取引は失敗します」など、あらゆる種類の文を使用できます。
Concordion.NET テストは、さまざまな環境に統合されている NUnit を使用して実行されます: https://github.com/concordion/concordion-net
IronRubyでCucumberを実行するために実行したプロセスの詳細をブログに投稿しました:http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/
StoryQもあります。これは、クライアントを報告できるユーザー ストーリーへの開発者に焦点を当てたアプローチです。 http://storyq.codeplex.com
StoryQ は、.NET 3.5 用の移植可能な (単一の dll) 埋め込み BDD フレームワークです。これは既存のテスト ランナー内で実行され、わかりやすいテスト出力 (html またはテキスト) を生成するのに役立ちます。StoryQ の滑らかなインターフェイスは、強力なタイピング、インテリセンス、およびドキュメントを BDD 文法に追加します。
http://blog.webintellix.com/2009/10/how-to-use-cucumber-with-net-and-c.htmlに C# で Cucumber を使用する方法を示す記事があります。アイアンルビー 1.0.