gpt4 book ai didi

java - Selenide + Junit 5 断言模式 = SOFT 不起作用

转载 作者:行者123 更新时间:2023-12-02 00:12:30 26 4
gpt4 key购买 nike

好吧,我的问题是当我尝试设置 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() {...}
}

我也遇到了同样的问题。

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

最佳答案

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

BrokenBaseTest

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

WorkedBaseTest

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

关于java - Selenide + Junit 5 断言模式 = SOFT 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58112439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com