2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以編寫測試來檢查您的功能,我假設(shè)該功能不是靜態(tài)的。如果您想讓它成為靜態(tài),那么您只需刪除這兩行
@InjectMocks
ChangerImpl changer;
代替“轉(zhuǎn)換器”,您可以調(diào)用相應(yīng)的實(shí)現(xiàn)類。希望這可以幫助。
@RunWith(MockitoJUnitRunner.class)
public class TestSampleTest {
@InjectMocks
ChangerImpl changer;
@Test(expected = NullPointerException.class)
public void test1(){
GroupProvider currentGroupAdm = mock(GroupProvider.class);
doReturn(null).when(currentGroupAdm).getDocs();
GroupProvider groupAdm = mock(GroupProvider.class);
oReturn("sample2").when(groupAdm).getDocs();
changer.hasDocsChangedRequired(currentGroupAdm, groupAdm);
}
@Test
public void test2(){
GroupProvider currentGroupAdm = mock(GroupProvider.class);
doReturn("sample1").when(currentGroupAdm).getDocs();
GroupProvider groupAdm = mock(GroupProvider.class);
doReturn("sample2").when(groupAdm).getDocs();
Assert.assertThat(changer.hasDocsChangedRequired(currentGroupAdm, groupAdm), is(true));
}
@Test
public void test3(){
GroupProvider currentGroupAdm = mock(GroupProvider.class);
doReturn("sample1").when(currentGroupAdm).getDocs();
GroupProvider groupAdm = mock(GroupProvider.class);
doReturn("sample1").when(groupAdm).getDocs();
Assert.assertThat(changer.hasDocsChangedRequired(currentGroupAdm, groupAdm), is(false));
}
}

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
你的方法的輸出
boolean hasDocsChangedRequired (GroupProvider currentGroupAdm, GroupProvider groupAdm) {
return !currentGroupAdm.getDocs().equals(groupAdm.getDocs());
}
完全取決于您的兩個(gè)輸入對象。
換句話說:您只需要提供輸入對象,這些對象可以為特定測試提供您想要提供的內(nèi)容。意思是:您可能想要編寫一個(gè)測試,其中currentGroupAdm.getDocs()給出的結(jié)果等于groupAdm.getDocs(),并且兩個(gè)調(diào)用給出的結(jié)果不相等。
理想情況下,您不需要在這里模擬任何內(nèi)容。
添加回答
舉報(bào)