[コラム] RED One, GREEN All
これは、 実行するテストケースの数です。
RED One, GREEN All
すなわち。 テストファーストしているときに、
- テストケースを追加/修正したときは、 そのテストケースひとつだけを実行して RED (失敗) になることを確認すればよい。
- 製品コードを書いたときは、 その部分に関係するテストケースを全て実行して GREEN (成功) を確認しなければならない。
あるテストケースを書いたとき、 そのテストケース以外には何も影響が無いはずですよね。 ですから、 その新しいテストケースだけを実行すればよいわけです。
次に、 その新しいテストケースを通るように製品コードを直しますが、 それによって既存のテストケースが失敗してしまう (つまり、 製品コードにバグを作りこんでしまう) 可能性があります。 したがって、 その製品コードのメソッドを対象としているテストケースは全部流してみる必要があります。
RED を確認するにはテストケース 1つ、 GREEN を確認するには全部、 というわけです。
例として、 C# 2008 Express Edition + NUnit 2.5 の場合を紹介しておきます。
テストファーストを進めてきて、 19個のテストケースがグリーンになったところです。
20個目のテストケースに取り掛かります。
まず、 テストケース HomeworkTest04_3char を追加しました。
NUnit が自動ロードする設定になっていると、 追加したテストケース HomeworkTest04_3char がリストに増えます。 (自動ロードにしていない場合は、 手動でロードしてください。)
ここでは、 今追加したテストが失敗すること (RED) を確認すればよいので、 追加したテストケースを右クリックして [Run] を選びます。 そうすると、 そのテストケースだけが実行されます。 あるいは、 そのテストケースをダブルクリックしても同じ動作になります。
たしかに、 テストケースがひとつだけ実行され、 RED になりました。
それでは製品コードを書きましょう。
書きあがったら、 GREEN を確認します。
さっきと同じように右クリックしますが、 今度は [Run All] を選びます。 すると、 リストに見えているテストが全て実行されます。(これではテストの実行範囲が広すぎるという場合は、 リストのツリーの上位ノードで [Run] します。)
20個のテストケースが全部実行され、 オールグリーンが確認できました。
| 固定リンク
« [イベント] Tech Fielders セミナー 「Agile Day」 に参加しました (2010/01/22) | トップページ | [記事紹介] Coding Dojo: InfoQ ~ TDDを根づかせる:導入の問題と解決策 »
「*コラム」カテゴリの記事
- [コラム] VB2005 では InternalsVisibleTo 属性が効かない(2010.06.02)
- [コラム] 黒岩惠 「トヨタ生産方式 (TPS) と IT ソフト」 ご紹介(2010.05.16)
- [コラム] Bent Jensen 来日: アジャイル開発に適した契約 ~ ハイブリッド契約の例(2010.05.06)
- [コラム] 僕が TDD に魅かれるワケ(2010.05.04)
- [コラム] RED One, GREEN All(2010.01.26)

コメント