目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
public String getRealInstanceName(String m) {
return "real_m_" + m;
}
}
Mock代码
package jmockit.sample;
import jmockit.target.Constructor;
import junit.framework.Assert;
import mockit.Mock;
import mockit.Mockit;
import org.junit.Test;
/**
* mock实例中it代表实际的mock对象
*
* @author Ginge
*
*/
public class AccessRealInstanceTest {
//注意,这里少了@Mocked
private Constructor constructor = new Constructor("");
@Test
public void mockConstructor() {
// 可以在任意时候把Mock装置起来,不用的时候可以脱下来
Mockit.setUpMock(Constructor.class, new MockedConstructor());
//参数没有匹配到,直接返回了mock
Assert.assertEquals("mock", constructor.getRealInstanceName(""));
//参数匹配到real,返回了实际对象方法调用的结果
Assert.assertEquals("real_m_real", constructor.getRealInstanceName("real"));
}
/**
* MockedConstructor相当于一个标志,具体名称不重要,重要的是它里面被@Mock注解的方法。如果有方法被注解了@Mock,
* 并且恰好方法的签名又和Mockit.setUpMock中声明的类型中的某个方法一样,那么对应的方法就被Mock
* 为了方便才把这个类的声明放到ConstructorTest2里面的,其实这个类可以放到任何地方
*
* @author Ginge
*
*/
public static class MockedConstructor {
//it属性表示实际对象
public Constructor it;
@Mock(reentrant = true)//reentrant表示是否可以访问实际对象
public String getRealInstanceName(String m) {
if ("real".equals(m)) {
return it.getRealInstanceName(m);
} else {
return "mock";
}
}
}
}
分享到:
相关推荐
gmall2020-mock-db-2021-11-14.jar
Jmockit用法示例,对各种函数(公有、私有、静态、final、无参数、带参数、接口)进行mock的方法
可以用来Mock JAVA代码中的静态方法
用户行为日志生成脚本
jmockit-1.7.jar JMockit最新工具包
mock对象
正如其名,在单元测试时,CUT(Code Under Test ,被测试代码)可能会依赖其他代码,可以使用JMockit API来mock被依赖的代码,从而进行隔离测试。 JMockit有两套API,mock API用来进行mock测试;mock-up API用来...
单元测试 mock jmockit包 JMockit 是一个轻量级的mock框架是用以帮助开发人员编写测试程序的一组工具和API
使用mock测试的几点好处: a、能够帮助我们解耦设计,即以接口设计为中心。 b、在使用其他对象的情况。通过为mock设置期望的行为,可以验证我们的代码是否正确。 c、使你的测试运行的更快。通过mock数据库,通等接口...
模块化配置mock,结合mock-api,axios,可应用于实际项目中;前后端分离开发之后,有了mock就可以不用等后端的接口完成后调用接口,前端可以自行模拟接口数据,快速开发。
phpunit-mock-objects, PHPUnit的模拟对象库 PHPUnit_MockObjectPHPUnit_MockObject 是PHPUnit默认的模拟对象库。要求PHP 5.6是必需的,但使用最新版本的PHP非常安装你可以使用 Composer 将这里库作为
Mock对象教程.pdf
Spring针对J2EE的常用Web接口提供了Mock,这些组件被发布于spring-mock.jar,介绍如下: MockHttpServletRequest:HttpServletRequest接口的mock实现。 MockHttpServletResponse:HttpServletResponse接口的mock...
jmockit资料,关于jmockit的具体使用方式,以及不同方法的详解。
单元测试 mock jmockit源码 JMockit 是一个轻量级的mock框架是用以帮助开发人员编写测试程序的一组工具和API
Mock counterfeiter - 一个工具用于在Go中生成自容器,类型安全的测试Mock对象
mock-api 原理 基于 OkHttp 的 Interceptor :如果目标url需要mock,则从本地(assets或sdcard)读取数据,否则继续向外发送请求。 使用 首先,在 build.gradle 中添加以下依赖: compile '...
vscode-mock-debug, 为VSCode开发调试适配器的入门示例 vs-代码模拟调试这是开发 vs 代码调试适配器的入门示例。模拟调试调试器为 Visual Studio 代码模拟调试适配器。 它支持步骤,继续,断点,异常,异常 access,...
Classes contained in spring-mock.jar: org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi....