Selenide + Junit 5 assertionMode = SOFT不起作用

时间:2019-09-26 08:18:21

标签: java junit5 selenide

好吧,我的问题是,当我尝试设置Selenide变量assertionMode = SOFT时,我的测试被忽略了,而Selenide抛出了异常:

java.lang.IllegalStateException: Using soft asserts, but without @SoftAsserts annotation

例如,当我使用Selenide文档中的示例时:

在测试类上方编写注释

@ExtendWith(SoftAssertsExtension.class)
class IssueCreationTest extends BaseTest {

@Test
void test() {...}
}

或将SoftAssertsExtension定义为类变量

class Tests {

@RegisterExtension 
static SoftAssertsExtension softAsserts = new SoftAssertsExtension();

@Test
void test() {...}
}

我遇到了同样的问题。

也许有人遇到了这个问题,也许有人知道我该如何解决?

1 个答案:

答案 0 :(得分:0)

好吧!当我使用必须在测试开始之前完成的@BeforeAll和@afterall方法将BaseTest描述为某种逻辑和行为时,脚本将在第一个方法上崩溃……单击();。 ...都在带有@BeforeAll和@afterall批注的方法中(下面的示例截图)。

BrokenBaseTest

但是,如果您将这些步骤转移到此类中带有@test批注的方法或BaseTest将听到的类​​的方法,那么一切将开始工作,并使用文档中描述的所有方法(屏幕快照)下面有一个示例)。

WorkedBaseTest

问题解决了,希望我能清楚地描述本质。尚不清楚为什么在第一种情况下,Sekenide拒绝工作并引发异常。