|
对于最新稳定版本,请使用Spring Framework 7.0.1! |
并行测试执行
Spring Framework 5.0 引入了在 使用Spring TestContext框架时,仅使用一个JVM。一般来说,这意味着大多数 测试类或测试方法可以并行运行,无需修改测试代码 或者配置。
| 关于如何设置并行测试执行的详细信息,请参见你的文档 测试框架、构建工具或集成开发环境。 |
请记住,在测试套件中引入并发可能会导致 意外副作用、奇怪的运行时行为,以及间歇性失败的测试 看起来是随机的。因此,春季团队提供以下一般指导方针 说明何时不该同时运行测试。
如果测试有以下情况,请不要同时运行:
-
使用 Spring Framework 的
@DirtiesContext支持。 -
用Spring靴
@MockBean或@SpyBean支持。 -
用JUnit 4
@FixMethodOrder支持或任何测试框架功能 该系统旨在确保测试方法按特定顺序运行。注意 但如果整个测试类并行运行,则不适用此原则。 -
更改共享服务或系统的状态,如数据库、消息代理, FileSystem,以及其他。这适用于嵌入式系统和外部系统。
|
如果并行测试执行失败,且有异常说明 这可能是由于使用 |
Spring TestContext框架中的并行测试仅在以下条件下才可能
基础测试上下文实现提供了一个复制构造器,详见
Java doc 的测试上下文.这DefaultTestContextSpring 中使用的 提供了这样的构造子。然而,如果你使用一个
第三方库,提供自定义测试上下文实施时,你需要
验证其适合并行测试执行。 |