黄瓜选项注释

cucumber-jvm javadocs表示,粘合元素的目的是指定分步和钩子的位置.但是,这对我来说似乎不起作用.让我说我有我的功能在目录a,我的步骤定义在目录b.然后,
@Cucumber.Options(
        features= "directory_a",glue="directory_b"
)

将从directory_a加载我的功能文件,但是它没有从direct_b加载我的步骤定义.但是,如果我使用

@Cucumber.Options(
        features= {"directory_a","directory_b"}
)

那么我加载了来自directory_a的功能,并且我们也从中获取了来自directory_b的步骤定义.这正是我想要的,但是,我不明白为什么前者不工作?我猜测这与它期望URI的格式有所不同(也许我需要预先添加类路径//或类似的东西),但是在文档中找不到任何信息.

解决方法

我已经成功地使用了像:
@RunWith(Cucumber.class)
@Cucumber.Options(
    //this code will only look into "features/" folder for features
    features={"classpath:features/"},glue = { "com.mycompany.cucumber.stepdeFinitions","com.mycompany.cucumber.hooks" },format = { "com.mycompany.cucumber.formatter.RuntimeInfoCatcher","json:target/cucumber.json" },tags = { "@working" }
    )
public class CucumberStarterIT {
}

看看在http://cukes.info/api/cucumber/jvm/javadoc/cucumber/api/junit/Cucumber.Options.html的文档,它指定了String []类型的选项,所以如果没有给它一个单值列表,那么也许它不会很好地工作.尝试glue = {“directory_b”},看看会发生什么.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...