Вызвать JUnit из основного приложения, введя собственный @Test

Как я могу вызвать ядро ​​JUnit, чтобы запустить тестовый прогон, и внедрить собственный метод @Test?

Я знаю, что используя

JUnitCore junit = new JUnitCore();
Result result = junit.run();

Я могу запустить тестовый прогон JUnit и получить окончательный результат, и я знаю это, добавив RunListener Я могу получить вызов метода на каждой фазе выполнения - есть ли способ разбить это дальше на отдельные вызовы Before / Test / After?

Кроме того, есть ли способ заменить метод, который будет запускаться, вместо данного @Test определения метода?

Контекст вопроса состоит в том, что существует база автоматизированного тестирования, которая в значительной степени пересекается с базой ручного тестирования - чье тестирование может разделять те же события @Before и @After, и только методы @Test будут заменены; это значительно снизило бы нагрузку на ручных тестировщиков.

Я хотел бы быть максимально ненавязчивым по отношению к существующей тестовой базе.

Если бы не переделывать мою собственную структуру JUnit, есть ли способ, даже с использованием отражения, заменить каждый метод тестирования?


person Matt Clark    schedule 10.05.2017    source источник