【发布时间】:2015-05-21 12:16:27
【问题描述】:
我正在使用 spockframework 和 geb 进行测试自动化。我想在每个功能之后执行一个简单的检查,以确保没有显示错误对话框,我添加了以下 cleanup() 方法:
def cleanup() {
expect:
$('.myErrrorDialogClass').isEmpty()
}
代码在每个功能之后执行,但在显示对话框时不会抛出任何错误。
【问题讨论】:
-
我不确定
cleanup是否意味着其中包含断言。您确定您的期望实际上是作为断言执行的吗?如果您真的需要在cleanup中执行此操作,可以尝试使用普通的assert调用而不是期望。 -
我需要在每个功能/测试后执行此操作。从文档中我看到 cleanup() 在每个功能之后执行。但是,正如您所说,也许并不意味着其中有断言。还有其他选择吗?
-
您可以尝试使用
assert呼叫。 Spock 使用 AST 转换为其标签(when、expect等)连接正确的行为,也许他们甚至不会在cleanup方法上运行转换。一个简单的assert仍然可以工作,因为它是 Groovy 本身的一部分。 -
你是对的!我唯一担心的是清理方法中的简单断言不是测试报告的一部分。我试过它就像一个魅力:当测试失败时,报告包括它。太棒了!
标签: groovy automated-tests spock geb