在黄瓜中指定功能文件位置



我创建了一些黄瓜测试步骤和一个小的黄瓜测试用例,我用JUnit运行,如下所示:

@RunWith(Cucumber.class)
public class FuelCarTest {
    //executs cucumber steps in the class FuelCarSteps
}

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

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

我找到了解决方案,

有@Cucumber.选项注释,在设置报告输出格式和位置的同时,它还允许设置功能文件的位置。

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

我已将所有功能文件放在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"

您可以在此处指定文件夹中的功能文件、标记名称和测试输出。

 @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"})
您可以使用

@CucumberOptions而不是@Cucumber。

@RunWith(Cucumber.class)
@CucumberOptions(
    format = "pretty",
    tags = {"~@Ignore"},
    features = "src/test/resources/com/"  //refer to Feature file
)
public class CucumberIT {  }

此处功能关键字,表示功能文件夹的路径示例:位于桌面中的"我的功能文件"文件夹

所以功能关键字值 feature="C:\Users\sanjay\Desktop\features"

@RunWith(Cucumber.class)
@CucumberOptions(
		features = "C:\Users\sanjay\Desktop\features"
		,glue={"com.stepDefination"}
		,monochrome = false,
				
				
				format = {"pretty", "html:target/Destination"} 
		
		)
public class TestRunner {
}

相关内容

  • 没有找到相关文章

最新更新