如何在intellij中将多个步骤目录粘附到cucumber测试中?

okxuctiv  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(332)

我有一个cucumber场景,其步骤在多个步骤文件中定义,而不是只有一个步骤文件。如果我决定使用intellij运行测试,我将转到 run/debug configurations 菜单和表单提供了一个名为 glue 这使我能够指定步骤包。
到目前为止,我能够运行在同一个步骤文件中定义了所有步骤的场景,但我无法找出如何为需要位于不同包中的多个步骤文件的场景执行此操作。我尝试过csv方法,但没有成功。有人知道我错过了什么吗?谢谢你的帮助。

fzwojiic

fzwojiic1#

使用cucumber配置粘合路径的方法很少。
作为一个 cucumber.properties 根包中的文件(通常为 src/test/resources/cucumber.properties ):

cucumber.glue=com.example.steps1,com.example.steps2

通过命令行

--glue com.example.steps1 --glue com.example.steps2

或者用 @CucumberOptions 注解。

@RunWith(Cucumber.class)
@CucumberOptions(glue ={"com.example.steps1", "com.example.steps2"})
public class RunCucumberTest {

}

使用idea时,必须用新行或空格(不是逗号!)分隔粘合包。

com.example.steps1
com.example.steps2

如果你使用的是cucumber(6+)的最新版本,你根本不需要提供胶水。cucumber将默认搜索类路径。

44u64gxh

44u64gxh2#

m、 p.korstanje的回答提供了非常有用的提示,但不适用于这个具体案例。对我起作用的是:
指定父包,而不是几个不同的子包(例如,仅使用 com.example 而不是两者兼而有之 com.example.steps1, com.example.steps2 )在 Glue 领域
在列表中选择正确的模块 Use classpath of module 领域

相关问题