我在我的项目中使用Serenity框架进行硒集成测试。我使用编剧模式。
我在一个文件夹中有两个功能,每个功能包含两种情况。我想忽略整个功能,但是当我在功能级别添加@Ignore
注释时,两个功能都将被忽略。当我向每个场景添加@Ignore
时,运行程序会忽略一些步骤,但是使用RestTemplate get请求运行该步骤,并且由于跳过了上一步而失败。
如何强制不运行功能中的所有场景而是在报告中显示它?
答案 0 :(得分:0)
1)忽略的测试被标记为已暂停并正在运行,但使用了模拟的Web驱动程序。我必须在我的REST请求之前添加 StepEventBus.getEventBus()。currentTestIsSuspended()检查。
2)@Ignored注释对我而言是意外的。我添加了 @Unimplemented 批注,并在进行钩子定义之前对其进行了处理。
@Before
public void setTheStage(final Scenario scenario) {
final StepEventBus eventBus = StepEventBus.getEventBus();
if (scenario.getSourceTagNames().contains("@Unimplemented") && !eventBus.currentTestIsSuspended()) {
eventBus.suspendTest(TestResult.IGNORED);
}