黄瓜:是否可以从远程位置读取.feature文件?

时间:2018-01-30 01:11:48

标签: cucumber cucumber-jvm cucumberjs

我知道如何指定要素文件的本地路径(例如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相当新,所以如果这是一个迟钝的问题,请原谅我。

2 个答案:

答案 0 :(得分:0)

据我所知,您无法指定远程位置来读取要素文件。我想远程位置是你通过网络而不是文件系统找到的东西。

您可以指定要素文件的路径,因此在许多情况下使用相同的要素文件。但这要求您始终将代码保持在相对于彼此的位置。一种方法是使用所谓的单声道回购。这是所有实现的一个存储库。一些团队使用Mono repos成功。黄瓜团队正朝着这个方向前进,以便更容易保持同步的共同点。所有Gherkin实现,独立于实现语言,都存在于单声道回购中。

答案 1 :(得分:0)

为什么不使用Linux FuseFS执行此类任务? curlftpfs,例如