用powermock 方法中new對象

在單元測試中有時須要對方法體內new出來的對象進行方法隔離,powermock提供了這個功能,下面是一個段樣例代碼:單元測試

UserBean user = mock(UserBean.class, RETURNS_DEEP_STUBS);
when(user.getName()).thenReturn(null);
//從excel中獲取屬性值
user.setAge((String) dpdata.get("age").get(0));
user.setName((String) dpdata.get("name").get(0));
UserBean mockUserBean = PowerMockito.mock(UserBean.class, RETURNS_DEEP_STUBS);
when(mockUserBean.getName()).thenReturn(null);
try {
     PowerMockito.whenNew(UserBean.class).withNoArguments() .thenReturn(mockUserBean);
} catch (Exception e1) {
   e1.printStackTrace();
}

 

RETURNS_DEEP_STUBS 屬性是爲了支持多層mock時使用。測試

相關文章
相關標籤/搜索