我正在使用apache2,Selenium,PHPUnit。
有些测试会导致php错误,但是因为看起来浏览器的一切都很好。
如何捕获这些错误以将测试标记为失败?
答案 0 :(得分:1)
最好的方法是让PHP在出错时抛出ErrorException
。
set_error_handler(
function($err_severity, $err_msg, $err_file, $err_line) {
throw new ErrorException($err_msg, 0, $err_severity, $err_file, $err_line)
}
);
由于错误始终是致命的,因此在发生错误时默认情况下测试将失败(请注意,如果您没有断言/捕获异常,它将暂停测试的其余部分。)
答案 1 :(得分:0)
PHPUnit允许添加在每个测试函数之前或之后运行的检查。只需在测试中添加assertPreConditions()
或assertPostConditions()
即可查看是否存在PHP失败的痕迹。
有关详细信息,请参阅http://phpunit.de/manual/3.7/en/fixtures.html。
现在的问题是:如何检测这些错误?检查屏幕上是否有错误文本,或者(如果你在apache本地运行)检查php错误日志文件的大小是否增加 - 它不应该。这在很大程度上取决于您的需求。