【发布时间】:2018-04-04 03:36:45
【问题描述】:
我在模拟项目中的静态成员时遇到问题。 请在下面找到与我的项目代码类似的示例。
class A {
private String place = null;
public methodA() {
this.place = LoadPlaceDao.placeDao.PlaceMap();
.........
.........
.........
}
}
public class LoadPlaceDao {
public static PlaceDao placeDao;
public LoadPlaceDao() {
placeDao = new PlaceDaoImpl();
}
}
我的测试的主要目标只是代码覆盖率, 我正在尝试模拟 LoadPlaceDao.placeDao.PlaceMap(); 在 LoadPlaceDao.placeDao 附近获取 NullPointerException,因此剩余的行不会被覆盖。 PowerMockito 仅适用于静态方法。 **placeDao 是静态引用。
【问题讨论】:
-
那么你几乎肯定做错了。在这种情况下,您显然做错了,因为您的构造函数正在覆盖一个静态字段,该字段是公共的而不是最终的。也许为您的用例提供更多背景信息。
标签: java spring junit mockito powermockito