对于我来说,检查PHPUnit我的测试执行是成功还是失败的最佳方法是什么?我试图为我的Selenium窗口截取屏幕截图,但仅在我的测试失败时。我尝试在onNotSuccessfulTest中截取屏幕截图,但是如果我总是在tearDown()中关闭我的窗口(我应该这样做),那么就没有会话可以在我的onNotSuccessfulTest函数中截取屏幕截图。
我正在考虑的解决方案是在tearDown中检查测试是成功还是失败,确定是否截取屏幕截图。
我正在使用PHPUnit 3.6和Facebook的php-webdriver,据我所知,我没有变量captureScreenshotOnFailure。
思想?
答案 0 :(得分:12)
您可以查看getStatus()
的返回值,并在所需条件下截取屏幕截图。
protected function tearDown() {
$status = $this->getStatus();
if ($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR
|| $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
// take a screenshot...
}
}
请参阅runBare()
,了解根据测试方法抛出的异常设置状态的位置。您可能也希望为跳过的测试拍摄屏幕截图。