我了解“致命错误”一词的含义,但我想编写一个这样的测试类(令人讨厌地简化):
class tester {
function execute() {
if( @$this->tryit() === true ) return true;
return false;
}
function tryit() {
$doesntexist = new noobject();
return true;
}
}
实际上,我会有一个
Test
父类,然后类将对其进行扩展,并包含带有一堆测试的一堆方法。父类将定义execute
,它将仅运行子类中的每个方法(当然不包括execute
)并收集函数通过和失败的数据。我想在实际编写部分代码之前编写测试,但是我不想使用
assert
而是运行每个测试并生成哪些测试类功能失败的列表。但这意味着如果测试失败,则意味着存在错误-但我也想处理忘记定义类的实例,等等。有可能这样做而又不会使整个脚本消失吗?我以为脚本会失败,直到函数调用前面带有
@
为止,然后继续执行,但显然我错了。有解决方法吗? 最佳答案
致命错误是致命致命,您无能为力。
解决方案的两个想法可能是:
method_exists
实际上,如果我没有记错的话,第二个解决方案存在于3.4版之后的PHPUnit中;