我有一个发布非致命通知的课程:
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)
如何通过测试并查看通知消息?