Powermock и проблема с загрузкой файла JAR-файла во время модульного тестирования с JUnit 4 в Eclipse

Я использую Powermock 1.2.5 для выполнения класса, который сохраняет данные в базе данных Oracle. Когда я запускаю свой тест, мой модульный тест не проходит со следующим исключением:

NoSuchAlgorithmException: алгоритм DES можно найти.

После отладки кода я обнаружил, что это исключение выдается, когда мое приложение пытается установить пароль для установления соединения с базой данных.

Некоторые из моих наблюдений:

  1. Если я запускаю свой модульный тест без проверки мощности, то исключение не происходит.
  2. Мне удается запустить модульный тест, если я вручную включил файл sun-jce.jar в загрузочный модуль модульного теста в eclipse.sun-jce.jar, который является одним из файлов jar в папке библиотеки jre. Я использую SUN Java JRE версии 1.5.0_10

Поэтому я предполагаю, что каким-то образом Power Mock выгружает этот конкретный JAR-файл во время выполнения модульного теста. Кто-нибудь сталкивается с похожей проблемой при использовании Powermock?

Обход, который я сейчас думаю, состоит в том, чтобы загрузить файл jar программно в соответствии с setup() моего модульного теста.

1 ответ

Успешно решить эту проблему. Кажется, PowerMock загружает свою собственную криптографическую библиотеку. Так что если мы добавим игнорировать javax.crypto при запуске power mock: @PowerMockIgnore({"javax.crypto" }), тест будет работать.

Другие вопросы по тегам