Для автоматического запуска всех моих тестовых классов я ищу все файлы классов в выделенном каталоге, преобразую путь в имя пакета и проверяю, реализует ли этот класс данный интерфейс:
try {
Class<? > myTestClass = Class.forName( constructedClassName );
if( myTestClass.isInstance( MyTestInterface.class ) ) {
testCollection.add( myTestClass );
}
}
catch( Error e ) {
// ignore, no valid test class
}
Сегодня я столкнулся с ужасной ошибкой ( см. Этот вопрос ), используя эту технику.
Вопрос:
Как я могу собрать все свои тестовые классы, не игнорируя ошибки, которые могут возникнуть с классами, которые меня не интересуют?