Pek*_*ica 2 php tdd phpunit unit-testing
我正在围绕PHPUnit,并试图为现有的类构建一个测试用例.
该类是一个静态配置类,用于获取,设置和列出应用程序中可用的配置选项.
这个班级非常严格.如果我尝试使用不兼容的值设置配置设置,或者配置设置不存在,E_USER_ERROR
则抛出a,停止执行脚本.即使它不是错误处理的艺术,它也适用于本课程的目的.该类中的错误始终是编程错误的结果,而不是用户输入错误.
这具有很大的优势,您无需担心如何处理或记录错误消息,从而使代码保持苗条.输出消息(或不在生产中),die(),完成.
但是,使用单元测试,我看不出如何继续使用经典的PHP错误.我将不得不将函数转换为返回成功标志,或抛出异常.
我对么?
或者PHPUnit中是否有一种方法可以预期错误,因为有预期的异常?我马上看不到任何东西.
默认情况下,PHPUnit将在执行测试期间触发的PHP错误,警告和通知转换为异常.例如,使用这些例外,您可以期望测试触发PHP错误,如例4.8所示.
class ExpectedErrorTest extends PHPUnit_Framework_TestCase
{
/**
* @expectedException PHPUnit_Framework_Error
*/
public function testFailingInclude()
{
include 'not_existing_file.php';
}
}
Run Code Online (Sandbox Code Playgroud)
当然,同样适用于例外.
编辑: 没有看到评论中已经提到这一点,但我会留在这里供参考,以防有人查找相同的问题并且没有阅读评论
归档时间: |
|
查看次数: |
649 次 |
最近记录: |