#java #maven-3
#java #maven-3
Вопрос:
Итак, я загружаю класс, и это работает просто отлично. Затем выполните getDeclaredMethods() и получите ошибку NoClassDefFounfError. Я смог отследить это внутри метода, и вот что находится в строке.
driver = new FireFoxDriver();
Когда я выполняю отладку, просматриваю подробное сообщение NoClassDefFounfError, я вижу следующее
"org/openqa/selenium/WebDriver"
Что может быть причиной этого? Я использую Maven, и на этапе тестирования у меня не возникает проблем с запуском WebDriver и выполнением теста. Все проблемы возникают на этапе сайта, когда он анализирует файлы классов для методов. Спасибо за любую помощь.
Ответ №1:
Очевидно, что существует метод, который использует org.openqa.selenium.WebDriver в качестве параметра или возвращает его в результате. Вы не вызываете его во время тестирования, чтобы не получить ошибку, но когда вы анализируете все методы, Java должна создать объект класса для этого параметра / возвращаемого значения, и он не может, если не может найти файл .class .
Комментарии:
1. Ну, эта строка драйвера, которую я опубликовал выше, вызывается в моем тесте, поскольку она открывает браузер и запускает тест. Как только браузер закрывается и фаза тестирования завершена, запускается фаза отчета и выполняется поиск этого класса. Таким образом, моя IDE / командная строка решает проблему во время тестов, но не при запуске getDeclaredMethods()
2. @jrock2004 если ваши тесты не вызывают соответствующие методы, им не нужно загружать этот clsss, поэтому они не получат эту ошибку.