goo*_*ech 2 java cucumber cucumber-jvm cucumber-junit cucumber-java
我有一个使用maven构建的java项目.
我有多个包,基于不同功能的功能文件.项目测试结构如下.
src
->test
->java
->com
->usercreation
TestStepDef.java
->uservalidation
TestStepDef.java
->resources
->usercreation
usercreation.feature
->uservaliation
uservalidatin.feature
Run Code Online (Sandbox Code Playgroud)
我只有一个RunCukesTest.java文件
@RunWith(Cucumber.class)
@CucumberOptions(format = { "html:target/cucumber-html-report",
"json:target/cucumber-json-report.json" },
features = "src/test/resources/",
glue = "??????",
tags = {"~@ignore"}
)
public class RunCukesTest {
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它会运行我的所有功能文件.但它无法找到该功能的特定步骤定义.所以我必须将胶水选项作为"com.usercreation".但是,如果我在运行uservalidation功能文件时这样做,它将无法获取适当的步骤定义.在我的用例中,我不希望步骤def文件位于同一个包中,因为它们具有许多具有不同功能的步骤.
有没有可能的方法,我可以根据运行功能文件的包名称动态提供胶水选项.或者我错过了这个项目的任何其他方法.
glue = { "classpath:com/usercreation", "classpath:com/uservalidation" },
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11120 次 |
| 最近记录: |