ackintosh

勉強したことなどをメモしています。

<PHPUnit>テスト入門

「テストを書く」という感覚がイマイチ分からない現状に危機感を抱き始めたので、
テストについて勉強していきたいと思います。

・プロダクトコード以上に見やすく
・サンプルコードの役割も果たす
プログラマーの精神安定剤
・変更の恐怖を開放して自信をつける

テスティングフレームワーク

xUnit

xUnitとは、コンピュータプログラムの単体テストユニットテスト)を行うためのテスティングフレームワークの総称である。
これらのフレームワークでは、関数やクラスなど、ソフトウェアの様々な要素(ユニット)をテストすることができる。
xUnitフレームワークの主な利点は、テストを自動化できること、同じテストを何度も書かずに済むこと、個々のテストの結果がどうあるべきかを覚えておかなくても良いことである。

wikipediaより。
Java: JUnit
Ruby: RubyUnit
Python: PyUnit
JavaScript: JsUnit
PHP: PHPUnit

普段から親しんでいるPHPで始めます。

PHPUnitの基本。

・assertEquals() などの関数で、予想される結果と実際の結果を確認する
 →assertEquals('hoge', 'hoge'); →テスト成功
 →assertEquals('hoge', 'boke'); →テスト失敗
・setUp() は必ず各テストメソッドの実行前に実行される
 →データの準備やトランザクションの開始
・tearDown() は必ず各テストメソッドの実行後に実行される
 →後処理やトランザクションロールバック