我的@After函数是:
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
当我运行测试时,我得到一个错误:
java.lang.AddesrtionError: java.langAssertionErrorjava.lang.AssertionError
在眼泪下一行:
fail(verificationErrorString);
如何解决这个问题?
最佳答案
看来您误解了Assert.fail(...)的目的,该目的是导致测试失败,并以字符串形式传递错误消息。它通过抛出AssertionError来实现。这按预期工作,其目的不是故障记录。
我猜想您要报告或记录VerificationErrorString。如果是这样,则将以下内容添加到TestCase类的顶部。
Logger logger = LoggerFactory.getLogger(TestCase.class);
然后用类似的东西替换您的fail(verificationErrorString)
logger.warning(verificationErrorString);
要么
logger.error(verificationErrorString);
但是,您可以(应该)直接将它们放在测试中。