在maven分叉流程执行期间只运行一次代码?

问题描述 投票:0回答:1

场景:我使用cucumberJVM和maven,forked进程运行了很多测试自动化。我想只运行一次,我怎么能实现这个目标?显然任何类型的全局在黄瓜(或类似的工作)之前都会在最初的每个分叉进程上运行,例如在我的所有分叉进程执行测试之前考虑我想使用@before钩子恢复数据库(简单示​​例)一个runOnce布尔值将在每个单独的fork上运行,我想我不太确定何时发生分叉以及如何在此之前拦截和运行代码?

有人可以推荐我一个很好的解决方案吗?

感谢您的时间。

java maven cucumber-jvm
1个回答
1
投票

Maven lifecycle可能会有所帮助。注意pre-integration-test阶段。您可以找到执行所需设置的插件(数据库设置,启动Tomcat等),并将插件的执行绑定到该阶段。然后使用maven-failsafe-plugin执行测试。有一个post-integration-test阶段允许拆除环境,一个单独的verify阶段用于检查结果。

Failsafe插件文档给出了一个不错的概述。由于您计划运行并行测试,我建议您特别注意这些部分/配置选项。

© www.soinside.com 2019 - 2024. All rights reserved.