我想为Citrus注释的参数提供动态值(@CitrusXmlTest)

时间:2017-10-23 17:50:09

标签: java annotations citrus-framework

我想动态提供的值是TestCase名称和包名称。我怎样才能做到这一点。如果我通过变量提供值,则它会给出以下错误“注释属性的值CitrusXmlTest.name必须是常量”。现在我这样给予

@CitrusXmlTest(name="Test",packageName="file:D://xitrus//myFirstTest.xml")  

我希望上面的陈述是

@CitrusXmlTest(name=variable name,packageName=variable name) 

或以其他方式动态插入值,请帮助我......

pom image 1image 2image 3

1 个答案:

答案 0 :(得分:0)

您要做的是反对Java注释规范,由于这些语言限制,这是不可能的。不知道你想在这里实现什么。

如果您需要以动态方式加载测试用例,可以在@CitrusXmlTest注释中使用packageScan选项:

@CitrusXmlTest(packageScan = "com.something.foo")
public void citrusPackageScanIT() {}

这将加载并执行包com.something.foo中的所有XML测试用例定义。 XML测试定义可以随意使用不同的测试名称。

如果要将一些动态数据传递给测试用例,则应使用TestNG数据提供程序(此处给出示例:https://github.com/christophd/citrus-samples/tree/master/sample-dataprovider)。