写测试用例的时候没有mock到一个对象,会导致每次执行测试用例都使用的是真实数据,我这一次用了一些假数据,因为mock不彻底,导致显示屏上直接出现了一堆乱七八糟的数据。嘿嘿,幸好这只是一个边缘工作。
UserBean user = mock(UserBean.class, RETURNS_DEEP_STUBS);
UserBean mockUserBean = PowerMockito.mock(UserBean.class, RETURNS_DEEP_STUBS);
PowerMockito.whenNew(UserBean.class).withNoArguments() .thenReturn(mockUserBean);
关键代码就后面两句话
一个对象
UserBean user = new UserBean();
首先需要Mock 前面的UserBean user。其次还要mock后面的new行为。
RETURNS_DEEP_STUBS 属性是为了支持多层mock时使用。
这个还没有验证,我的代码是没有这个的,不知道怎么测试。
还有发现这个牛人讲的更清楚。可以参考这个。