結果:現時点ではテストは失敗しエラーが起きます。ような高度なテストランナーがあることを心に留めておきましょう。一般的には、それらを利用することで多数の異なるテストのセットアップは問題にはなりません。cheat!}おぉ、これでも動作します!仕様を改善する私たちがしたことは完全にずるです。正しくない結果を返します。...テストは通るが、関数は誤った動作するという状況は非常に典型的で、実践で起こります。私たちの仕様は不完全であり、ユースケースの追加が必要です。確認するテストを追加しましょう。ブロックは直ちに終了することです。テストを分けて作ると、起こっていることに関してより多くの情報を得ることができるので、2つ目の方法のほうが良いでしょう。それに加えて、従うべきもう一つのルールがあります。1つのテストは1つのことを確認しますもしテストを見て、2つの独立したチェックがその中にある場合、分割して2つのシンプルなテストにするほうが良いです。2つ目の方法で進めていきましょう。結果:予想通り、2つ目のテストは失敗しました。result;}関数が上手く動作することを確認するために、より多くの値をテストしてみましょう。私たちはさらに多くのテストを追加します。一緒にグループ化されるべきことに注意しましょう。どのようになるかを確認することです。多くのテストが続きます。追加することができます。関数を設定することができます。初期化の実行のために使われ、カウンタをゼロにしたり、テストの間で何かをするときに使われます。基本的な機能は完成です。開発の最初のイテレーションをしました。それを続けて改善しましょう。nを扱うことを意図しています。不正値を同じようにしましょう。仕様(!)へ、その振る舞いを追加しましょう。});});新しいテストの結果:現時点の実装はそれらをサポートしていないので、新たに追加されたテストは失敗します。最初に失敗するテストを書き、次にそれらのための実装を作ります。上と逆のチェックをします。