第84回 テストファーストとは何か?

前回の、
第83回 テスト! Test!! テストぉおお!!! テストとはなにか!? - bingo_nakanishiの他言語出身者のためのPerl入門
では、プログラムを作ってからテストを行った。
この作業を逆にして、テストを作ってから、プログラムを作成することを、テストファーストと呼ぶ。


つまり、さきに、
a.txtを作っておく。


a.txt

aaa
bbb
ccc


それから、プログラムを作る。


bingo.pl

use strict;

# まだ何も実装しない


実行

$ perl bingo.pl > hoge.txt


テスト

$ diff hoge.txt a.txt 
0a1,3
> aaa
> bbb
> ccc

もちろん、テストは失敗する。



しかし、このテストに通るプログラムを書くというスタンスでプログラミングしていくのが
テストファーストなのである。