知りたいのですが、BDDは受け入れテストレベルでのみ機能しますか? そうでない場合、ユニットテストレベルでも機能しますか? BDD は単体テストについて何か提案がありますか?
ありがとうございました
BDD は、実際にはクラス レベルで開始されました。JBehave の最初の化身は、「テスト」という言葉を避けた JUnit の代替品でした。システムレベルのものが登場したのは、 Dan Northが当時コーディング方法を学んでいた当時のアナリストであるChris Matts にモック オブジェクトを説明した後でした。
最近では、単体テスト フレームワークでさえ、テスト メソッドを「テスト」という言葉で始めることを要求しません。また、動的言語のフレームワークは、JBehave の初期の機能を Ruby に移植した RSpec からほとんど派生しています。
そのため、そのレベルで BDD を実行することは完全に可能です。
もちろん、alannicholsが言っていることは、聴衆が技術者ではないという点で正しいです。
では、なぜ BDD を実行したいのでしょうか?
Dan がその最初のリンクで述べているように、振る舞いについて話すことは、テストについて話すことよりも有益であることがわかりました。BDD では、単語testを避けるだけです。成功または失敗よりも、例と物事がどのように動作するかについて話すことを好みます。
システムまたはクラスの望ましい動作について話し合い、その動作の例を提供することで、テストについて話しているときよりも簡単に調べることができます。
ただし、これは技術に詳しくない聴衆なので、コメントに「与えられた、いつ、それから」を入れるだけで十分だと思います。ここで例を見ることができます。明示的な BDD ツールは必要ありません。
動作について話し合う別の開発者が見つからない場合は、ゴム製のアヒルを見つけることをお勧めします。