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

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

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

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

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

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

Итак, я предполагаю, что каким-то образом power mock выгружает этот конкретный файл jar во время выполнения модульного теста. Кто-нибудь сталкивается с подобной проблемой при использовании powermock?

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


person zfranciscus    schedule 08.09.2009    source источник
comment
Привет, Удалось решить эту проблему. Кажется, PowerMock загружает собственную криптографическую библиотеку. Поэтому, если мы добавим игнорировать javax.crypto при запуске мощного макета: @PowerMockIgnore({javax.crypto}), тест будет работать.   -  person zfranciscus    schedule 23.09.2009


Ответы (1)


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

person zfranciscus    schedule 23.09.2009
comment
Нам пришлось добавить javax.crypto.* вместо просто javax.crypto, но основная идея оказалась очень полезной - спасибо - person Ryan; 25.06.2013