mock和挡板的区别 mock构造方法?
mock构造方法?
@RunWith(PowerMockRunner.class类)
@PrepareForTest(助手类)//1. 添加要初始化的类,即,构造函数所在的类
public class helpertest{
@mock
private something mocksomething
@injectmocks
private helper helper
@test
public void dosomething()抛出异常{
字符串参数=“arg”PowerMockito.whenNew公司( 什么。班级). witharguments(参数)。然后返回(mocksomething)//2。添加要构造的函数的类、参数和返回值
//3。调用要测试的方法3.剂量测定(参数)
//verify
验证(mocksomething)。Doit()
}
]公共类帮助程序{
public void something(string ARG){
]something something=new something(ARG)做点什么吧()
}
如何mock静态方法?
因为mockito使用继承来实现mock,所以使用cglib生成mock对象来执行,而不是真正的对象。对于mock实例的方法,可以在子类中重写,而静态方法不能被子类重写,因此mockito不能模拟静态方法。但是powermock可以模拟静态方法,因为它直接在字节码上工作,比如:importorg.powermock.api. mockito.PowerMockitoimportorg.powermock.core公司. classloader.annotations.PrepareForTestimportorg.powermock.modules模块. testng.PowerMockTestCaseimport导入org.testng.Assertimportorg.testng.annotations注释. 测试@PrepareForTest( 抽象动物类)公共类AbstractAnimalTest扩展了PowerMockTestCase{@Testpublic void shouldGetMockedHello(){PowerMockito.mockStatic文件( 抽象动物类) 什么时候( 抽象动物.getHello())。然后返回(“你好,模仿动物世界!)字符串问候语=抽象动物.getHello() Assert.assertTrue( 你好。平等(“你好,嘲笑动物世界!"))}}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。