我知道如何指定要素文件的本地路径(例如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相当新,所以如果这是一个迟钝的问题,请原谅我。
答案 0 :(得分:0)
据我所知,您无法指定远程位置来读取要素文件。我想远程位置是你通过网络而不是文件系统找到的东西。
您可以指定要素文件的路径,因此在许多情况下使用相同的要素文件。但这要求您始终将代码保持在相对于彼此的位置。一种方法是使用所谓的单声道回购。这是所有实现的一个存储库。一些团队使用Mono repos成功。黄瓜团队正朝着这个方向前进,以便更容易保持同步的共同点。所有Gherkin实现,独立于实现语言,都存在于单声道回购中。
答案 1 :(得分:0)
为什么不使用Linux FuseFS执行此类任务? curlftpfs,例如