我正在嘗試使用 Junit 測驗 Java 方法,
不幸的是,我不能再進一步了,因為 Api 類被辯護為 @Inject
我實際上嘗試了我能做的一切,不幸的是總是回傳null并且每次測驗都失敗。
@Inject
private MemberAPi memberApi;
NewMember newMember = new NewMember();
newMember = MemberApi.addMember(new CreateMemberParameterObj (newMember, getId , false, Obj ))
測驗:我試著像那樣嘲笑它,例如
@Mock
private MemberAPi mockedMemberApi;
when(mockedMemberAPi.addMember(anyObject())).thenReturn(anyObject());
uj5u.com熱心網友回復:
模擬 MemberAPI 和 NewMember 類。使用@InjectMocks并且 Mockito 會自動注入 mockMemberAPI 物件。
這是一些代碼:
@InjectMocks
private Blam classToTest; // your class.
@Mock
private MemberAPi mockMemberAPi;
@Mock
private NewMember mockNewMember;
@Before
public void before()
{
MockitoAnnotations.openMocks(this);
doReturn(mockNewMember).when(mockMemberAPI).addMember(anyObject());
}
我使用doReturn().when().xxx();
模式而不是
when(mockedMemberAPi.addMember(anyObject())).thenReturn(mockMemberAPI);
模式。
注意:
thenReturn(anyObject());沒有意義,因為你不能 return anyObject()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/324856.html
