【发布时间】:2018-01-30 01:11:47
【问题描述】:
我知道如何指定功能文件的本地路径(例如 Java 中的 @CucumberOptions(features = "<feature_path>")),但是否可以从远程位置(即从 Github)读取功能文件?
动机:我有几个不同语言的 API 客户端库,它们需要遵守同一组核心规范。我使用 Cucumber 功能文件作为规范的语言不可知基础,然后为每个库编写步骤定义。为每个项目复制功能文件似乎很愚蠢,但到目前为止,我还无法找到如何从远程位置读取它们。
例如,设置@CucumberOptions(features = "https://github.com/<repo_path>/features") 会产生以下错误:
Tests in error:
initializationError(com.<package_name>.feature.RunCukesTest):
Not a file or directory: /<local_path>/https://github.com/<repo_path>/features
注意,我以 Java 为例,但我很想听到任何 Java/PHP/Ruby/Javascript 的答案。
对 Cucumber 很陌生,所以如果这是一个迟钝的问题,请原谅我。
【问题讨论】:
-
我怀疑这样的事情是可能的,但我必须检查黄瓜源代码来确认这一点。你在使用像 maven 这样的依赖管理器吗?如果是,您可以尝试使用例如 maven-dependency-plugin 或 maven-download-plugin 在预集成测试阶段下载工件。
-
是的,我正在使用 maven——我希望有一个适用于所有库的解决方案,但这是一个不错的主意。我可能也可以在其他语言中找到类似的东西。
-
我们将功能文件复制到一个 tmp 文件夹,然后在本地执行。
标签: cucumber cucumber-jvm cucumberjs