Engineer as a Lifestyle @tenkoma

What We Find Changes Who We Become -- Peter Morville著『アンビエント・ファインダビリティ 』

9章まで読んだ。

7章

テストを始めるための事前設定&終わった後の後始末>fixture
setUp() & tearDown() = 解体する
各テストメソッドの度にsetUp & tearDownが一度ずつ。
tearDownあんま使わないよ
準備作業が微妙に異なるときは…
テストスイートで準備作業を共有したい
setup, tearDownではメソッドごとに呼ばれてしまう
TestSetupでデコレータってなんのこっちゃ??→あとで調べる
でもでも設計を見直すべきサインかもよ?

8章

例外のテスト(例外を吐いてテスト合格するコードが載ってないけど)

<?php
require_once 'PHPUnit2/Extensions/ExceptionTestCase.php';

class ExceptionTest extends PHPUnit2_Extensions_ExceptionTestCase
{
    public function testException()
    {
        $this->setExpectedException('Exception');
        throw new Exception('hoge');
    }
}
?>

これで合格。

もうひとつの方法。try...catch.
出力内容のテスト(正規表現でも可)
パフォーマンステスト

9章

テストメソッドがまだ完全に実装されていないとき。
あらゆる環境ですべてのテストができるわけではない
 →ある条件でテストを省略したいとき