Cucumber jvm 我们如何在分叉JVM进程上使用CucumberJVM之前/之后运行一次?

Cucumber jvm 我们如何在分叉JVM进程上使用CucumberJVM之前/之后运行一次?,cucumber-jvm,Cucumber Jvm,当我们在分叉的JVM进程上运行cucumber测试时,每个测试都会立即被隔离,因此如果我们尝试在每个JVM实例上运行任何类型的@before或@after,并且可以在这里进行设置,它将在每个进程上无意义地执行 我们如何才能在分叉的JVM处理之前进入并执行单个方法,甚至在继续之前验证测试运行,等等 在所有JVM上的所有测试都已执行之后,同样的操作也应该运行一次 有一个简单的解决方法吗?看看。其中可以有不同的侦听器,包括在套件执行之前运行的侦听器。您还可以编写带有@BeforeSuite注释的方法。

当我们在分叉的JVM进程上运行cucumber测试时,每个测试都会立即被隔离,因此如果我们尝试在每个JVM实例上运行任何类型的@before或@after,并且可以在这里进行设置,它将在每个进程上无意义地执行

我们如何才能在分叉的JVM处理之前进入并执行单个方法,甚至在继续之前验证测试运行,等等

在所有JVM上的所有测试都已执行之后,同样的操作也应该运行一次


有一个简单的解决方法吗?

看看。其中可以有不同的侦听器,包括在套件执行之前运行的侦听器。您还可以编写带有
@BeforeSuite
注释的方法。

回答:我最后编写了一个单独的测试,该测试验证了运行,并执行了所有运行类型代码,告诉surefire在主测试阶段之前运行此测试阶段,因此只有在验证通过时,主测试才会继续

其他选择:maven插件,我也写了同样的想法。 其他备选方案:从maven获取JVM分叉号,并将其设置为系统属性,例如,执行分叉号=1的一些操作,暂停/休眠其他JVM,直到验证完成,然后继续(将需要更新外部源,如带有以下内容的属性文件):

canContinue=0


要在每个JVM上轮询到1,继续

只是一个猜测-您可以从java文件执行maven。在此之前,您可以在java文件中进行设置。如何从java运行maven-。不知道它是否可以工作。