mockito怎么读 mock构造方法?
mock构造方法?
@RunWith(PowerMockRunner.class)
@PrepareForTest(Helper.class)//1.添加要初始化的类,就是构造函数所在的类
public class HelperTest {
@Mock
private Something mockSomething
@InjectMocks
private Helper helper
@Test
public void doSomething() throws Exception {
String argument = "arg"
PowerMockito.whenNew(Something.class).withArguments(argument).thenReturn(mockSomething)//2.添加要构造的函数的类,参数和返回值
// 3.调用需要测试方法
helper.doSomething(argument)
// 进行验证
verify(mockSomething).doIt()
}
}
public class Helper {
public void doSomething(String arg) {
Something something = new Something(arg)
something.doit()
}
}
手工测试人员如何转测试开发?
~首先,手工测试和测试开发的职能都是为了要保障项目和产品的质量,所不同的是测试开发是偏向把测试技术化来提升测试效率。
手工测试要转测试开发就是学习如何更有效地提升测试效率,把最耗时重复测试工作用工具或脚本代替。
学习一些测试工具的使用,如Jmeter,postman做性能和接口测试;学编程语言,写自动化脚本做回归测试。
手工测试转测试开发是个技术提升的过程,在工作之余多练练手写写小脚本和自动化测试,可以和开发多交流。转不转得成功,就看能力和运气了…
如何mock静态方法?
因为Mockito使用继承的方式实现mock的,用CGLIB生成mock对象代替真实的对象进行执行,为了mock实例的方法,你可以在subclass中覆盖它,而static方法是不能被子类覆盖的,所以Mockito不能mock静态方法。但PowerMock可以mock静态方法,因为它直接在bytecode上工作,类似这样:import org.powermock.api.mockito.PowerMockitoimport org.powermock.core.classloader.annotations.PrepareForTestimport org.powermock.modules.testng.PowerMockTestCaseimport org.testng.Assertimport org.testng.annotations.Test@PrepareForTest(AbstractAnimal.class)public class AbstractAnimalTest extends PowerMockTestCase {@Testpublic void shouldGetMockedHello() {PowerMockito.mockStatic(AbstractAnimal.class)PowerMockito.when(AbstractAnimal.getHello()).thenReturn("Hello mocked animal world!")String greetings = AbstractAnimal.getHello()Assert.assertTrue(greetings.equals("Hello mocked animal world!"))}}
mockito怎么读 mockito单元测试 mockito教程
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。