cucumber で普及した Given/When/Then スタイルを使用して記述された C# 統合テストがいくつかあります。基本的に NBehave と同じように機能するフレームワークを使用しています。
私が直面している繰り返しの問題は、統合テストに必要なすべてのアプリケーション状態のセットアップと配線の問題です。私のテストのほとんどは次のようになります。
空のシステムを考える そして、新しい NetworkServer そして、新しい ServerDatabase そして新しいイベントロガー そして、新しいネットワーク接続 そして新しい LoggingClient クライアントが新しいイベントをログに記録するとき 次に、サーバーデータベースに表示されます
ご覧のとおり、アクションとアサーションは 1 行ですが、6 行の「配線」があります。私が行ったほぼすべてのテストで、これらの 6 行が繰り返されます。
これはコードの匂いのように思えますが、これを処理する方法がわかりません。6 行を 1 行 (Given "a valid system..."
またはそのようなもの) にリファクタリングすることもできますが、それでは行き過ぎて、あまりにも多くの情報を隠してしまうようです。
この分野でより多くの経験を持つ他の人からの考えをいただければ幸いです。どうもありがとう。