第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Mock 方法繪制到用于搜索空值的接口

Mock 方法繪制到用于搜索空值的接口

慕森卡 2021-12-01 15:41:26
我有一個(gè)方法,我必須將其繪制到接口并編寫用于搜索 nullPointerExc 的測試。這是方法:boolean hasDocsChangedRequired (GroupProvider currentGroupAdm, GroupProvider groupAdm) {      return !currentGroupAdm.getDocs().equals(groupAdm.getDocs());      }getDocs 方法中的某處為空。我用方法創(chuàng)建了接口 Changer:boolean hasDocsChangedRequired();我使用與以前使用 SOLID 規(guī)則相同的主體方法將其實(shí)現(xiàn)為類我有一個(gè)問題,如何使用 mockito 編寫測試來完全覆蓋這個(gè)布爾函數(shù)?
查看完整描述

2 回答

?
慕桂英546537

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));

  }


}



查看完整回答
反對 回復(fù) 2021-12-01
?
收到一只叮咚

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)容。


查看完整回答
反對 回復(fù) 2021-12-01
  • 2 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號