1

我们通常会在 Eclipse 中编写大量测试并频繁执行它们。此外,我们使用 Maven 和后来的 Jenkins,它也运行测试。我们时不时会遇到这样一种情况,即我们是否同时测试每个测试方法、整个测试类或整个包(这意味着测试突然变红)都会有所不同。

考虑已经初始化的静态字段,无意中继续运行的作业,测试方法以相当随机的顺序执行,......换句话说,有很多情况下测试可能会相互干扰。显然,我们努力以一种方式编写方法,使上述所有内容都无关紧要/发生,并且无论情况如何,一切都是绿色的。

我不知道上述产品实际上是如何运行测试的,但似乎启动了 JVM,然后完成了所有选定的测试(方法、类或项目),然后 JVM 关闭。我还没有看到允许我以所有三种可能的方式自动运行测试的选项。

我现在的问题是:

  • 你如何解决?
  • 你真的认为这是一个问题吗?
4

1 回答 1

0

测试不应相互依赖,也不应影响其他测试。如果您遇到测试失败的情况 - 您应该找到原因并消除它。

我只有一次遇到需要为每个测试分叉 JVM 的情况。这可以通过使用maven-surefire-plugin的forkMode属性来完成。

于 2012-07-24T07:24:43.753 回答