2016-01-21 72 views
0

我有一个具有测试用例名称和一些与之相关的值的Excel工作表 例如:TestCase2 Value2,TestCase1 Value1。调用JUNIT类的动态方法

我有一个有JUnit类测试方法(TestCase1(),TestCase2()),因为我有在Excel工作表 同名所以,当我运行JUnit类我想要的测试方法来串行执行他们的方式在excel文件中提到,因为在这种情况下testcase2应该在testcase1之前执行。

+0

所以,你想建立一个使用基于一些输入名称的测试TestSuite .... –

+0

为什么你使用Excel表格为此?你想让测试可以被某些用户使用吗?如果是这种情况,你可以考虑FitNesse。 – Chris311

+0

是Peter,测试用例方法名称将来自Excel表单,并且它们应该按照提及的方式连续执行 –

回答

0

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

要启动JUnit测试:

的java org.junit.runner.JUnitCore [测试类的名称]

看到: 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)

那么你的测试将是以词法顺序执行

希望它有帮助!