勉強を始めてるのでノートがてらまとめていこうと思う。
テスト稼働開発(TDD, Test-Driven Development)
工程は「レッド、グリーン、リファクタリング」と要約される
レッド
まず失敗するようなテストを書いて、
グリーン
次にそのテストをパスするようにし、
リファクタリング
それから2度とテストが失敗しない様にコードを綺麗にする
Test::Unitでは def test_** を使うのではなく、 must “**” do ~ end を使おう
class MyThingieTest < Test::Units::TestCase def test_must_be_empty end def test_must_be_awesome end end
ではなく、
class MyThingieTest < Test::Units::TestCase must "be empty" do end must "be awesome" do end end
must を使うためには、test_unit_extension.rbがいる。
http://github.com/sandal/rbp/blob/master/testing/test_unit_extensions.rb
テストケースに最初から最後まで徐々に手を加えていくことで機能を進化させていく
テスト稼働開発における最終生成物とは、仕様通りにメソッドが動作することを検証可能な、自動化されたセーフティーネットである。
問題発見、リファクタリング、イテレーティブな設計といったプロセスこそが、テスト駆動開発の進化である。
コメント