动态方法调用JUNIT类

时间:2016-01-21 09:57:45

标签: java excel dynamic junit testng

我有一张excel表,其中包含测试用例名称和与之相关的一些值 例如:TestCase2 Value2,TestCase1 Value1。

我有一个具有测试方法的Junit类(TestCase1(),TestCase2())和excel表中的名字相同 因此,当我运行我的Junit类时,我希望测试方法按照excel文件中提到的方式顺序执行,因为在这种情况下testcase2应该在testcase1之前执行。

1 个答案:

答案 0 :(得分:0)

方法1: 使用Excel构建和启动命令行,使用Excel / windows功能(VBscript,...)。

启动junit测试:

java org.junit.runner.JUnitCore [test class name]

看到: How to run JUnit test cases from the command line

请注意,您可以启动课程,而不是特定的方法。

对于特定方法,请参阅:Run single test from a JUnit class using command-line

有关方法的顺序,请参阅下文。

但是,如何获得和利用结果是另一回事。

方法2(首选):控制Java中的所有内容:

使用适当的库读取excel文件:

How to read and write excel file in java

或者,将其更改为csv或OpenOffice(odf),并与其他库一起阅读。

迭代,并通过反身性的名称启动每个方法:

getMethod 调用

请参阅:How do I invoke a Java method when given the method name as a string?

测试顺序:

在课前设置:

@FixMethodOrder(MethodSorters.NAME_ASCENDING)

然后你的测试将以词汇顺序执行

希望它有所帮助!