У меня есть проект Java с некоторыми модульными тестами, написанными с использованием JUnit. Недавно было добавлено несколько новых модульных тестов, написанных на Groovy (также с использованием JUnit), так как их проще сделать более выразительный и в целом более читаемый. Это также позволяет нам использовать фреймворк spock.
Проект собран и протестирован с помощью ant .
До того, как были добавлены классы Groovy, модульные тесты запускались с использованием следующей задачи ant:
Однако этот подход не работает для Groovy-тестов, как в файлах *. Groovy
, а задача JUnit Ant , понятное дело, не распознает их в наборе файлов
].
Альтернативный подход - использовать файлы * .class
для набора файлов batchtest
следующим образом:
Это генерирует ложноотрицательных результатов поскольку файлы классов закрытия также включены, поэтому возможный обходной путь - исключить эти файлы.
Есть ли лучший способ определить тестовые классы для задачи junit ant ? Возможно, тот, который основан на отражении и атрибуте @Test
, который вручную перечисляет все тестовые классы (который будет работать отлично), на самом деле не является поддерживаемым решением. Что-то вроде SpecClassFileSelector
из инфраструктуры Спока .