3

我将 JUnit 与 Mockito 一起使用。PowerMock可以模拟静态方法,但它似乎无法与 Java 1.4 一起使用,特别是因为它需要注释。

还有其他选择吗?

谢谢。

4

3 回答 3

1

就个人而言,我更喜欢尽量减少对模拟的使用。如果静态方法在您的代码中,我会对其进行修改以使其对单元测试更加友好。也许它不应该是静态的。或者,如果必须这样做,也许您可​​以使用设置方法来确定静态方法的行为方式。

如果静态方法不在您的代码中,您可能不走运。

于 2011-03-03T15:26:39.510 回答
1

(这里无耻的自我宣传)有一个项目PowerMock-Legacy可以让你在 Java 1.4 中使用 PowerMock。它有点冗长,并非所有功能都受支持,但可能值得一试。

于 2011-03-06T05:50:37.800 回答
0

尝试jMockit并仔细检查您是否可以重构代码(或者它是旧代码?)。Mockito 说关于模拟静态方法

Mockito 更喜欢面向对象和依赖注入,而不是难以理解和更改的静态过程代码。(来源

还要检查这个相关的帖子,尤其是乔恩的回答。

于 2011-03-08T20:50:46.693 回答