如何在Java中更改运行时的方法名称?

时间:2016-03-21 10:01:47

标签: java reflection

我有以下测试方法,它从excel表中获取参数。假设我有5个测试用例,所以这个方法将执行5次。但是当我执行第一个测试用例(TC01)时,Test()方法名称应该在运行时根据Test_TC01(),Test_TC02()等测试程序进行更改。

@Test
public void Test() throws Exception {

    ExcelUtils.setExcelFile(System.getProperty("user.dir") + "\\src\\data_engine\\DataEngine.xlsx");
    DOMConfigurator.configure("log4j.xml");
    String Path_OR = System.getProperty("user.dir") + "\\src\\config\\OR.properties";
    FileInputStream fs = new FileInputStream(Path_OR);
    OR = new Properties(System.getProperties());
    OR.load(fs);

    DriverScriptTest startEngine = new DriverScriptTest();

    startEngine.execute_TestCase();

}

请分享您的意见

1 个答案:

答案 0 :(得分:2)

总之,你不能。

您可以做的是创建一个新类(在运行时!),编译并运行它。

是的,我所说的是您编写代码:

  1. 创建类(在临时文件中)
  2. 使用Java Compiler API编译课程。
  3. 在已编译的类实例上调用方法。
  4. 祝你好运!我已经使用过这段代码并且非常有趣,但除非你真的需要它,否则几乎总是有些过分。