PHPUnitとob_start()
PHPUnitでテストケースを作っていた。
画面周りはユニットテストするのが結構厄介なことが多い。HTMLのFormでPostされたデータを扱っている部分があって、ここはPHPUnitではできないかなと思っていた。しかし、$_POST変数は変更不可と思っていたところ、スクリプト内で設定ができることが分かった。
$_POST['param1'] = 'value1'; $_POST['param2'] = 'value2'; ob_start(); include('template.php'); $output = ob_get_contents(); ob_end_clean(); $this->assertContains("HTML string to be asserted.", $output);
こんな感じで結構テストケースが書けてしまった。