メソッドが例外を発生させるかどうかをテストしたい。これは方法です:
public function divide($a,$b)
{
try
{
if($b==0){
throw new Exception('Divided by zero');
}else{
return $a/$b;
}
}
catch(exception $e)
{
return $e;
}
}
これがテストです:
/**
* @expectedException Exception
*/
public function testException()
{
//throw new Exception('Hello world');
$this->calculator->divide(10,0));
}
ブラウザでコードを確認すると、例外が正しく発生します。しかし、テストを実行すると、「Exception 型の例外がスローされたことをアサートできませんでした」というメッセージが常に表示されます。ただし、テスト メソッド内で例外をスローすると (スロー行のコメントを外す)、テストは正常に動作します。
手がかりはありますか?
Windows XPでphpunit 3.7、xampp 3.1を使用しています。