【发布时间】:2014-12-17 10:11:41
【问题描述】:
如果我有课
public final class Application {
public static String getName() { return "Bad App"; }
}
那么我怎样才能改变行为并让getName 返回,比如说,"Good App"?
我需要模拟它,以便被测类收到预期值。
实际上,静态方法会进行一些我想避免的网络调用。
我无法重写应用程序的代码。
我正在使用 Java 6、Maven、JUnit 和 Mockito。
有可能吗?
【问题讨论】:
-
您是否必须使用静态调用,而不是拥有可以模拟的正常依赖项?
-
您将需要 powermockito 或 powermock。
-
@JonSkeet 我不能改变
Application也不能改变它的使用方式,或者至少在不久的将来不会。如果可以的话,我绝对会的。 -
@almasshaikh 有什么可以分享的吗?
-
你更喜欢power mock还是power mockito?我认为 powermockito?
标签: java mocking mockito powermock