2010-09-23 71 views
9

我在Ant下使用Junit来执行Selenium Test.My测试用例需要读取包含测试数据(以完成数据驱动测试)的文件 。 我不介意在测试用例中嵌入文件名,但我想要在build.xml文件中将存储 数据文件的目录的名称参数化。如何将参数传递给Ant的Junit测试?

从build.xml向下传递测试用例的最佳方式是什么? 使用ant属性是一个好主意吗? 是否可以从build.xml注入Junit4参数?

回答

11

junit任务接受嵌套sysproperty元素。

<junit fork="no"> 
    <sysproperty key="mydatadir" value="${whatever}"/> 
    ... 
</junit> 

您可以在您的测试中使用System.getProperty()访问这些内容。

+0

如果并行测试使用相同的属性(sysproperty),那么没有问题吗? 是否有可能将测试数据注入Ant中的JUnit参数而不是检索测试用例中的数据? – user405458 2010-09-23 09:55:57

+0

在每个并行线程中你需要不同的值吗?你有junit任务jvmarg元素,它可以对sysproperty有类似的效果 - 虽然没有看到任何好处。对我而言,不明白该任务的其他选项可用于传递数据。 – 2010-09-23 10:13:23