使用Spring和Parameterized运行JUnit

时间:2018-06-01 00:28:33

标签: java spring junit

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

@RunWith(Parameterized.class)

我用

加载Spring上下文
mp_manager.reset(new QNetworkAccessManager{this});

上述作品,但坦率地说,我不知道它实际上在做什么。任何人都可以解释,还有其他方法可以与Spring同时运行参数化测试吗?

1 个答案:

答案 0 :(得分:0)

任何IDE都可以让您跳到SPring规则的定义并对其进行调试。与JUnit参数化类相同。

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

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

正如您所看到的,规则和运行者的功能大致相同,唯一的原因是有Spring运行器是为了方便。

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