PHPUnit断言是否引发了异常?
|
有谁知道是否有一个“ 0”或类似的东西可以测试被测代码中是否抛出了异常?
没有找到相关结果
已邀请:
14 个回复
乏摩纶誊伟
ExpectException()PHPUnit文档 PHPUnit作者文章提供了有关测试异常最佳实践的详细说明。
坝硷操
对于PHP 5.5+(尤其是带有命名空间的代码),我现在更喜欢使用
久坡
解析度来获取带有
/
的类的名称。这提供了几个好处: 该名称将带有其名称空间(如果有)完全限定。 它解析为“ 7”,因此可以与任何版本的PHPUnit一起使用。 您将在IDE中获得代码完成功能。 如果您键入错误的类名,PHP编译器将发出错误。 例:
PHP编译
进入
没有PHPUnit是更明智的选择。 注意:PHPUnit 5.2引入了ѭ5来代替
。
嗓瑰
扭湘阀柿蹄
我还为喜欢精美代码的爱好者们赋予了一个特质。
贸会
请确保您的测试课程范围为
。
慰泥悍瓶
将其添加到您的测试班级,并以这种方式调用:
缮淳彼誊
遣莫捅炭
语法 支持断言,而不仅仅是消息,代码和类 支持反断言,
支持PHP 7
错误 图书馆 我向Github和packagist发布了ѭ25特征,以便可以在作曲家中安装它。 简单的例子 只是为了说明语法背后的精神:
挺整洁的? 完整用法示例 请参阅下面的更全面的用法示例:
玩翁文醚碱
文档可以在这里找到。
勺的驴吓识
小心
,注意双“ *”。只写\“ ** \”(星号)将使您的代码失败。 还要确保您使用的是最新版本的phpUnit。在phpunit的某些早期版本中,@expectedException不支持异常。我有4.0,但对我来说不起作用,我必须更新到5.5 https://coderwall.com/p/mklvdw/install-phpunit-with-composer才能使用composer进行更新。
闯舱酮
磁辫覆氓
这是测试
膏焦凑
如果我们在匿名函数中键入的代码未引发异常,则将引发异常。 如果我们在匿名函数中键入的代码引发异常,但其消息与预期的正则表达式不匹配,则也会引发异常。