我已经创建了一些黄瓜测试步骤和一个小黄瓜测试用例[1],我使用junit运行,如下所示:
@RunWith(Cucumber.class)
public class FuelCarTest {
//executs cucumber steps in the class FuelCarSteps
}
黄瓜功能文件现在从src/main/resources/<package-name>/*.feature
我想知道如何告诉黄瓜我的功能文件的位置,因为我需要它从类路径外的位置加载它们(例如数据//)。
答案 0 :(得分:6)
我找到了解决方案,
有@ Cucumber.Options注释,在设置报告输出格式和位置之间,还允许设置要素文件的位置。
@Cucumber.Options(
format = {
"pretty",
"html:target/cucumber-html-report",
"json-pretty:target/cucumber- report.json"
},
features="features/"
)
答案 1 :(得分:4)
我已将所有要素文件放在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
{
}
这将选择文件夹功能中的所有功能文件。如果你想拥有一个子文件夹,你也可以通过更换线来添加它,如下所示。
features = "classpath:features/DEV"
如果只有一个特定的特征文件,它应该是这样的
features = "classpath:features/DEV/SmokeTests.feature"
答案 2 :(得分:0)
您可以在此处指定文件夹,标签名称和测试输出中的功能文件。
@RunWith(Cucumber.class)
@CucumberOptions(features="src/Login.feature",
format = {"pretty", "html:target/report/",
"json:target/report/cucu_json_report.json",
"junit:target/report/cucumber_junit_report.xml",}
tags ={"@ra1, @ra2"})
答案 3 :(得分:0)
您可以使用@CucumberOptions而不是@ Cucumber.Options
@RunWith(Cucumber.class)
@CucumberOptions(
format = "pretty",
tags = {"~@Ignore"},
features = "src/test/resources/com/" //refer to Feature file
)
public class CucumberIT { }
答案 4 :(得分:0)
此处是功能文件夹路径的功能关键字 示例:我的功能文件文件夹位于桌面
所以功能关键字值功能=&#34; C:\ Users \ sanjay \ Desktop \ features&#34;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "C:\\Users\\sanjay\\Desktop\\features"
,glue={"com.stepDefination"}
,monochrome = false,
format = {"pretty", "html:target/Destination"}
)
public class TestRunner {
}
&#13;