微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

黄瓜选项注释

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”},看看会发生什么.

原文地址:https://www.jb51.cc/java/126793.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐