gpt4 book ai didi

JUnit 5——如何使测试执行依赖于另一个测试通过?

转载 作者:行者123 更新时间:2023-12-01 14:05:37 26 4
gpt4 key购买 nike

学生在这里。在 JUnit 5 中,根据另一个测试是成功还是失败来实现条件测试执行的最佳方法是什么?我想这会涉及 ExecutionCondition ,但我不确定如何继续。有没有办法在不必将我自己的状态添加到测试类的情况下做到这一点?

请注意,我知道 dependent assertions ,但我有多个 nested tests代表不同的子状态,因此我想要一种在测试级别本身执行此操作的方法。

例子:

@Test
void testFooBarPrecondition() { ... }

// only execute if testFooBarPrecondition succeeds
@Nested
class FooCase { ... }

// only execute if testFooBarPrecondition succeeds
@Nested
class BarCase { ... }

最佳答案

您可以通过在 @BeforeEach/@BeforeAll 设置方法中提取常见的前置条件逻辑来解决该问题,然后使用 assumptions ,它是专门为条件测试执行而开发的。一些示例代码:

class SomeTest {

@Nested
class NestedOne {
@BeforeEach
void setUp() {
boolean preconditionsMet = false;
//precondition code goes here

assumeTrue(preconditionsMet);
}

@Test // not executed when precodition is not met
void aTestMethod() {}
}

@Nested
class NestedTwo {
@Test // executed
void anotherTestMethod() { }
}

}

关于JUnit 5——如何使测试执行依赖于另一个测试通过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47040783/

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