2012-04-03 13 views

答えて

4

テストには、単体テスト、受け入れテスト、統合テストのいくつかのタイプがあります。 TDDやBDDのようないくつかの開発方法があります。したがって、BDDは受け入れテストだけではありません。 BDDはユニットテストのレベルで行うことができます。

  • テストメソッド名の行動文テンプレートを中心とした文章(離れて「試験」の言葉を投げる)
  • (開始する必要があります。ここではBDDとTDDの違いについてDan North thoughtsのいくつかの私たちはユニットテストについて話すときがあります「万一」や「べきではない」)とのテスト名
  • など

テストの種類ごとに異なるBDDフレームワークがあります。例えば。受け入れBDDの場合はSpecFlow、ユニットレベルBDDの場合はNSpecです。だから、

、あなたの質問に答える:

  • をユニットテストは、BDDスタイルで行われている場合は、それらのテストを書くことは再びBDDの練習
  • である私たちが話していない場合、ユニットテストは、BDDの一部とすることができます受け入れテストについて。ユニットテストはTDD/BDDとは別に行うことができます。既存のコードのテストを書くとき。
+2

私が見てきたユニットテストの大半は、その機能的な動作より実装の詳細に焦点を当てていると思います。これらのタイプのテストは、脆く、不必要に具体的な傾向があります。テストが成果を上げる代わりに何が起こる必要があるかに焦点を当てると、単体テストはBDDに似た共通の根拠を見つけ出します。 – bryanbcook

+0

同意します。ここ数年は、人間が読めるようなライブ・ドキュメントのスタイルでテストを書く傾向がありますが、これは実装に依存しません。しかし、始めに、私は 'TestMethodFoo'のような名前を使いました。これは、MethodFooの単純な名前変更の後で混乱します:) –

関連する問題