mock沒有返回值的方法 如何mock網(wǎng)絡(luò)response?
如何mock網(wǎng)絡(luò)response?servlet中有兩種方法:public void doget(HttpServletRequest,httpservletresponse)public void
如何mock網(wǎng)絡(luò)response?
servlet中有兩種方法:public void doget(HttpServletRequest,httpservletresponse)public void dopost(HttpServletRequest,httpservletresponse)可以直接使用不需要創(chuàng)建的請求和響應(yīng)
如何mock靜態(tài)方法?
因為mockito使用繼承來實現(xiàn)mock,并使用cglib來生成mock對象,而不是真正的對象來執(zhí)行。對于mock實例的方法,可以在子類中重寫,而靜態(tài)方法不能被子類重寫,因此mockito不能模擬靜態(tài)方法。但是powermock可以模擬靜態(tài)方法,因為它直接在字節(jié)碼上工作,比如:importorg.powermock.api. mockito.PowerMockitoimportorg.powermock.core公司. classloader.annotations.PrepareForTestimportorg.powermock.modules模塊. testng.PowerMockTestCaseimport導(dǎo)入org.testng.Assertimportorg.testng.annotations注釋. 測試@PrepareForTest( 抽象動物類)公共類AbstractAnimalTest擴展了PowerMockTestCase{@Testpublic void shouldGetMockedHello(){PowerMockito.mockStatic文件( 抽象動物類) 什么時候( 抽象動物.getHello())。然后返回(“你好,模仿動物世界!)字符串問候語=抽象動物.getHello() Assert.assertTrue( 你好。平等(“你好,嘲笑動物世界!“)}}
@RunWith(PowerMockRunner.class類)
@PrepareForTest(助手類)//1. 添加要初始化的類,它是構(gòu)造函數(shù)的類
public class helpertest{
@mock
private something mocksomething
@injectmocks
private helper helper
@test
public void doSomething()拋出異常{
String argument argPowerMockito.whenNew公司( 什么。班級). witharguments(參數(shù))。然后返回(mocksomething)//2。添加要構(gòu)造的函數(shù)的類、參數(shù)和返回值
//3。調(diào)用要測試的方法3.劑量測定(參數(shù))
//verify
驗證(mocksomething)。Doit()
}
]public class helper{
public void doSomething(String arg){
Something Something=new Something(arg)做點什么吧()
}
}