2016-03-21 3 views
2

У меня есть следующий метод тестирования, который принимает параметры с листа excel. Скажем, у меня 5 тестовых случаев, поэтому этот метод будет выполняться 5 раз. Но когда я выполнить первый тестовый случай (TC01) Тест() Имя метода должно измениться во время выполнения в соответствии тест scrips как Test_TC01(), Test_TC02() и т.д.Как изменить имя метода во время выполнения в Java?

@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(); 

} 

Пожалуйста, поделитесь вашими комментариями

+0

Является ли отражение обязательным для вашей проблемы? Почему бы не использовать заводскую модель? – Willmore

+0

изменить название метода? Какая польза от этого? когда-либо слышал о конкатенации строк? – Stultuske

+0

Я думаю, что он означает varargs в сигнатуре метода? [ref] (http://stackoverflow.com/questions/519752/java-params-in-method-signature) –

ответ

1

Короче , вы не можете.

Что вы можете сделать, это создать новый класс (во время выполнения!), скомпилировать его и запустить.

Да, о чем я говорю о том, что вы пишете код на:

  1. Создать класс (в виде временного файла)
  2. Используйте Java Compiler API скомпилировать класс.
  3. Вызвать методы в экземпляре скомпилированного класса.

Удачи вам! Я работал с этим кодом, и это очень интересно, но почти всегда переполняйте, если вам это действительно не нужно.

Смежные вопросы