我有一个具有测试用例名称和一些与之相关的值的Excel工作表 例如:TestCase2 Value2,TestCase1 Value1。调用JUNIT类的动态方法
我有一个有JUnit类测试方法(TestCase1(),TestCase2()),因为我有在Excel工作表 同名所以,当我运行JUnit类我想要的测试方法来串行执行他们的方式在excel文件中提到,因为在这种情况下testcase2应该在testcase1之前执行。
我有一个具有测试用例名称和一些与之相关的值的Excel工作表 例如:TestCase2 Value2,TestCase1 Value1。调用JUNIT类的动态方法
我有一个有JUnit类测试方法(TestCase1(),TestCase2()),因为我有在Excel工作表 同名所以,当我运行JUnit类我想要的测试方法来串行执行他们的方式在excel文件中提到,因为在这种情况下testcase2应该在testcase1之前执行。
方法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)
那么你的测试将是以词法顺序执行
希望它有帮助!
所以,你想建立一个使用基于一些输入名称的测试TestSuite .... –
为什么你使用Excel表格为此?你想让测试可以被某些用户使用吗?如果是这种情况,你可以考虑FitNesse。 – Chris311
是Peter,测试用例方法名称将来自Excel表单,并且它们应该按照提及的方式连续执行 –