gpt4 book ai didi

java - 使用 Spring 和参数化运行 JUnit

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:07 25 4
gpt4 key购买 nike

我有某些需要 Spring 上下文的集成测试,并且将从参数化测试中受益匪浅(将删除大量重复代码)。我目前正在使用类注释运行测试

@RunWith(参数化.class)

我使用

加载 Spring 上下文
@ClassRule
public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();

@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();

上面的方法有效,但坦白说,我不知道它实际上在做什么。谁能解释一下,还有其他方法可以与 Spring 同时运行参数化测试吗?

最佳答案

任何 IDE 都允许您跳转到 SPring 规则的定义并调试它们。 JUnit 参数化类也是如此。

  • JUnit 规则在每个方法之前和之后以及每个类之前和之后进行准备。
  • JUnit Runner 在每个方法之前和之后以及每个类之前和之后进行准备,然后运行所有方法

两个 Spring 测试规则都执行与 Spring Runner 相同的准备/清理操作。

如您所见,规则和运行器的作用基本相同,Spring 运行器的唯一原因是为了方便。

合理运行此程序的其他方法可能是使用 JUnit5 或 TestNG,而不是 JUnit4。或者可能有一种方法可以在 @Before 方法中设置所有 spring 上下文,而不是使用注释。但实际上您一直在做的是将 Spring 设置与参数化测试相结合的推荐方法。

关于java - 使用 Spring 和参数化运行 JUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50634549/

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