0

メソッドが例外を発生させるかどうかをテストしたい。これは方法です:

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を使用しています。

4

1 に答える 1