在eclipse中使用JUnit 4进行单元测试时,Powermock和问题加载jar文件文件

时间:2009-09-08 12:00:06

标签: eclipse oracle junit powermock

我使用powermock 1.2.5来执行将数据保存到Oracle数据库的类。当我运行我的测试时,我的单元测试失败,但有以下异常:

NoSuchAlgorithmException:可以找到DES算法。

调试代码后,我发现当我的应用程序尝试设置密码以建立数据库连接时会抛出此异常。

我的一些观察是:

  1. 如果我在没有电源模拟的情况下运行我的单元测试,则不会发生异常。
  2. 如果我手动将sun-jce.jar文件包含在eclipse中的单元测试引导程序中,我设法运行单元测试.j-jce.jar是jre库文件夹中的jar文件之一。我正在使用SUN java jre版本1.5.0_10
  3. 所以我猜测,在单元测试运行时,power mock会以某种方式卸载这个特定的jar文件。使用powermock时是否有人遇到类似的问题?

    我正在考虑的一个方法是在我的单元测试的setup()下以编程方式加载jar文件。

1 个答案:

答案 0 :(得分:3)

管理以解决此问题。似乎PowerMock加载了自己的加密库。因此,如果我们在运行power mock时添加忽略javax.crypto:@PowerMockIgnore({“javax.crypto”}),测试将起作用。