php – 如何在测试时查看通知?
发布时间:2020-12-13 16:05:29 所属栏目:PHP教程 来源:网络整理
导读:我有一个发布非致命通知的课程: class MyClass { public function foo(){ trigger_error('Notice this message.',E_USER_NOTICE); return true; }} 这是一个基本的单元测试: class MyClassTest extends PHPUnit_Framework_TestCase { public function test
我有一个发布非致命通知的课程:
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会将此通知转换为异常,但未被捕获的必然会将测试作为错误.
首先,让我指出,我喜欢我可以阅读这个通知,这就是我想要的,但没有失败的测试. 我知道我可以通过docblock进行测试. class MyClassTest extends PHPUnit_Framework_TestCase { /** * @expectedException PHPUnit_Framework_Error_Notice */ public function testCanFoo(){ $obj = new MyClass; $this->assertTrue($obj->foo()); } } 但现在通知完全被吞没了.
如何通过测试并查看通知消息? 解决方法
您可以通过以下方式禁用转换为异常:
class MyClassTest extends PHPUnit_Framework_TestCase { public function testCanFoo(){ // disable conversion into exception PHPUnit_Framework_Error_Notice::$enabled = false; $obj = new MyClass; $this->assertTrue($obj->foo()); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |