我有一個類,發出非致命通知:如何在測試時查看通知?
class MyClass {
public function foo(){
trigger_error('Notice this message.', E_USER_NOTICE);
return true;
}
}
這是一個基本的單元測試:
class MyClassTest extends PHPUnit_Framework_TestCase {
public function testCanFoo(){
$obj = new MyClass;
$this->assertTrue($obj->foo());
}
}
自然PHPUnit的這個通知轉換爲例外,未捕獲的必然失敗的試驗,一個錯誤。
There was 1 error:
1) MyClassTest::testCanFoo
Notice this message.
首先,我要指出,我愛,我可以看到這個通知,並這是我想要的,但不測試失敗。
我知道我可以通過docblock通過測試。
class MyClassTest extends PHPUnit_Framework_TestCase {
/**
* @expectedException PHPUnit_Framework_Error_Notice
*/
public function testCanFoo(){
$obj = new MyClass;
$this->assertTrue($obj->foo());
}
}
但現在通知完全被吞沒了。
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.
. 1/1 (100%)
Time: 17 ms, Memory: 4.00MB
OK (1 test, 1 assertion)
我怎樣才能得到它都通過測試和查看通知的消息?
[這個問題](http://stackoverflow.com/questions/8412746/ignoring-the-php-warnings-in-phpunit)看起來它有一些有用的信息。 –
Thanks @ Don'tPanic我確實遇到過這個問題,但都是我的docblock解決方案的替代方案。 –
啊,我明白了。我不確定是否不將它們轉換爲例外會阻止它們顯示或不顯示。 –