以黄瓜指定要素文件位置

lan*_*oxx 6 cucumber cucumber-jvm cucumber-junit

我已经创建了一些黄瓜测试步骤和一个小黄瓜测试用例[1],我使用junit运行,如下所示:

@RunWith(Cucumber.class)

public class FuelCarTest {
    //executs cucumber steps in the class FuelCarSteps
}
Run Code Online (Sandbox Code Playgroud)

黄瓜特征文件现在从类路径位置自动加载 src/main/resources/<package-name>/*.feature

我想知道如何告诉黄瓜我的功能文件的位置,因为我需要它从类路径之外的位置加载它们(例如数据//).

[1] http://thomassundberg.wordpress.com/2011/11/16/testing-a-web-service-with-soapui-junit-maven-and-cucumber/#comment-714

lan*_*oxx 6

我找到了解决方案,

有@ Cucumber.Options注释,在设置报告输出格式和位置之间,它还允许设置要素文件的位置.

@Cucumber.Options(
    format = {
        "pretty",
        "html:target/cucumber-html-report",
        "json-pretty:target/cucumber- report.json"
    },
    features="features/"
)
Run Code Online (Sandbox Code Playgroud)


vkr*_*ams 5

我已将所有要素文件放入其中,test/resources/features并在类路径中添加了要素文件位置。这是我的黄瓜运行文件。

@RunWith(Cucumber.class)
@CucumberOptions(
    monochrome = true,
    features = "classpath:features",
    plugin = {"pretty", "html:target/cucumber-reports",
    "json:target/cucumber.json"
             }

)
public class MyTests 
{

}
Run Code Online (Sandbox Code Playgroud)

这将选择文件夹要素中的所有要素文件。如果您想要一个子文件夹,也可以通过替换如下所示的行来添加它。

features = "classpath:features/DEV"

如果只有一个特定的功能文件,应该是这样的

features = "classpath:features/DEV/SmokeTests.feature"