динамически добавлять аннотации к сгенерированному методу - PullRequest
0 голосов
/ 28 ноября 2011

Я хочу сгенерировать методы тестирования в Groovy (на основе набора данных).Я использую JUnit и хочу добавить аннотацию @Test к каждому сгенерированному мной методу.

Пока у меня есть этот код:

@BeforeClass
public static void addAutoDetectPluginsTest() {
    AutoDetectPluginsTest.metaClass."test plugin-01" = { -> println("plugin-01")}
}

Как добавить аннотацию@Test к методу test plugin-01?

1 Ответ

3 голосов
/ 30 ноября 2011

Ваш подход с мета-классом не может работать.Что бы вы ни делали в мета-системе Groovy, это не влияет на рефлексию.И JUnit будет искать эти аннотации, используя отражение.Таким образом, это не может работать.Возможно, вам придется переписать байт-код для класса при загрузке ... например, с помощью агента.Но я не думаю, что вы хотите зайти так далеко.

...