私はBDDを理解しようとしています。いくつかの記事を読みましたが、理解したように、BDDはTDDの「次のステップ」です。私は両方とも非常に似ていると思うので、この記事で読むことができるように、TDDからの改良としてBDDが生まれたと言います。素晴らしい、私はアイデアが本当に好きです。
考えられない実用的なポイントが1つあります。BAがシステムが持つすべての予想される動作を書き込む.featureファイルがあります。BAとして、彼はシステムがどのように構築されているのかわからないので、次のように書きます。
+シナリオ1:アカウントにクレジットがあります+
アカウントにクレジットがあることを考えると
そして、カードは有効です
そして、ディスペンサーには現金が含まれています
顧客が現金を要求するとき
次に、口座から引き落とされていることを確認し、現金が支払われていることを確認します
そして、カードが返されることを確認してください
わかりました、これは素晴らしいことですが、システムの多くの部分が連携してそれを実現します(Account obj、Dispenser obj、Customer objなどを考えてください)。私にはこれは統合テストのように見えます。
ユニットテストが欲しいです。ディスペンサーにお金があるかどうかを確認するコードをテストするにはどうすればよいですか?または、現金が分配されますか?または、必要なときに口座から引き落とされますか? ユニットテストと「BA Created」テストを混在させるにはどうすればよいですか?