有没有办法从tearDown()判断我的PHPUnit测试用例中是否有失败?

有没有办法从tearDown()判断我的PHPUnit测试用例中是否有失败?,phpunit,Phpunit,检查PHPUnit中测试执行是否成功的最佳方法是什么?我试图为我的Selenium窗口截图,但只有当我的测试失败时。我曾尝试在onNotSuccessfulTest中拍摄屏幕截图,但如果我总是在tearDown()中关闭窗口(我应该这样做),则onNotSuccessfulTest函数中没有可拍摄屏幕截图的会话 我考虑的解决方案包括检查测试在拆卸过程中是否成功,确定是否拍摄屏幕截图 我使用的是PHPUnit 3.6和Facebook的PHPWebdriver,据我所知,我没有变量captureS

检查PHPUnit中测试执行是否成功的最佳方法是什么?我试图为我的Selenium窗口截图,但只有当我的测试失败时。我曾尝试在onNotSuccessfulTest中拍摄屏幕截图,但如果我总是在tearDown()中关闭窗口(我应该这样做),则onNotSuccessfulTest函数中没有可拍摄屏幕截图的会话

我考虑的解决方案包括检查测试在拆卸过程中是否成功,确定是否拍摄屏幕截图

我使用的是PHPUnit 3.6和Facebook的PHPWebdriver,据我所知,我没有变量captureScreenshotOnFailure


想法?

您可以从
getStatus()
检查返回值,并在所需条件下截图

protected function tearDown() {
    $status = $this->getStatus();
    if ($status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR 
            || $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
        // take a screenshot...
    }
}
请参阅
runBare()
,了解根据测试方法引发的异常设置状态的位置。您可能还想为跳过的测试截图