0

我正在使用powermock 1.2.5 来执行一个将数据保存到 Oracle 数据库中的类。当我运行我的测试时,我的单元测试失败并出现以下异常:

NoSuchAlgorithmException : 可以找到 DES 算法。

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

我的一些观察是:

  1. 如果我在没有 power mock 的情况下运行单元测试,则不会发生异常。
  2. 如果我手动将 sun-jce.jar 文件包含到单元测试引导程序中,我设法运行单元测试。eclipse.sun-jce.jar 是 jre 库文件夹中的 jar 文件之一。我正在使用 SUN java jre 版本 1.5.0_10

所以我猜想在单元测试运行时以某种方式 power mock 卸载这个特定的 jar 文件。有人在使用 powermock 时遇到类似的问题吗?

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

4

1 回答 1

3

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

于 2009-09-23T21:01:56.873 回答