Car*_*ers 2 php error-handling unit-testing
我理解"致命错误"一词的意义,但我想编写一个这样的测试类(令人厌恶的简化):
class tester {
function execute() {
if( @$this->tryit() === true ) return true;
return false;
}
function tryit() {
$doesntexist = new noobject();
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
实际上我有一个Test父类,然后类会扩展它并包含一堆带有一堆测试的方法.父类将定义execute并且它将只运行子类中的每个方法(execute当然不包括)并收集有关哪些函数通过以及哪些函数失败的数据.
我想在实际编写部分代码之前编写测试,但不是使用assert我只想运行每个测试并生成一个列表,列出哪些测试类失败的功能.但这意味着如果测试失败则意味着存在错误 - 但我也想处理我忘记定义类等的实例.是否可以这样做,而不是让整个脚本死掉?
我以为脚本会失败,直到函数调用@它前面,然后继续,但显然我错了.有解决方法吗?
致命错误是致命的,你无能为力.
解决方案的两个想法可能是:
method_exists实际上,第二个解决方案存在于3.4版本的PHPUnit中,如果我没记错的话;-)