[コラム] 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を根づかせる:導入の問題と解決策 »
「*コラム」カテゴリの記事
- [TDD Advent Calendar jp: 2011] TDD とアジャイルを支えるバックボーン #TddAdventJp(2011.12.25)
- [コラム] TDD の原点 ~ Kent Beck による定義(2011.12.13)
- [コラム] TDD は止めて、 DbE (例示による設計) と呼ぼう!(2011.11.03)
- [コラム] NUnit の CollectionAssert で、 配列やリストを比較・検証する(2011.10.31)
- [コラム] TDDBC 東京 1.6 のお題を C# でやってみる (その3) ~ 2つめ、3つめの仕様変更[T16MAIN-6,7](2011.08.30)
「<NUnit>」カテゴリの記事
- [NEWS] NUnit 2.6.0 beta2 リリース(2011.11.21)
- [NEWS] NUnit 2.5.2 リリース、 次版からは公開場所が変更(2009.08.25)
- [NEWS] NUnit 2.5 正式リリース(2009.06.15)
- [NEWS] NUnit 2.5.3 リリース、 .NET 4.0 に対応(2009.12.16)
- [NEWS] NUnit 2.5.4 リリース(2010.04.20)

コメント