在黄瓜中,如何传递文件路径的位置,使其适用于 Windows 和 MAC

In Cucumber, How to pass the location of the file path such that it works for both Windows and MAC

在 Cucumber(基于 mvn 的 java 项目)中,我们需要指定文件的位置(例如)TestRunner 中的功能文件位置,如下所示

@CucumberOptions(features=("src\test\resources\features"),
                 glue= {"com.testing.stepdefinitions"},
                 strict = true,
                 plugin= {"pretty","html:target/cucumber",
                         "com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter:"}
                 )

public class MyRunner extends BaseClass{
}

如何指定文件路径以使其在 Windows 和 MAC 中正常工作?

对于 feature 属性,将 \ 替换为 / 例如:src/test/resources/features.
它适用于我使用 Cucumber(Windows 和基于 Unix OS)的应用程序。
请注意,属性 javadoc 声明:

Returns:

the uris to the feature(s)

uri 由斜线组成,而不是由反斜线组成。

附带说明一下,反斜杠是 windows 表示路径分隔符的特定方式。依赖于 "path" 概念的标准 JDK 类 例如 FilePath 将处理 Linux 上的斜线,同样 Windows。但反之则不然。

请尝试以下而不是 src\test\resources\features。这将适用于 windows 和 Mac。

@CucumberOptions(features=("./src/test/resources/features"),