目标测试代码
package jmockit.target;
public class Constructor {
private String memberId;
public Constructor(String memberId) {
this.memberId = memberId;
}
public String getRealName() {
return "real_" + this.memberId;
}
}
Mock代码
package jmockit.sample;
import jmockit.target.Constructor;
import junit.framework.Assert;
import mockit.Mock;
import mockit.Mocked;
import mockit.Mockit;
import org.junit.Test;
/**
* 除了使用@MockUp的另外一种基于状态的mock测试的方式。
*
* @author Ginge
*
*/
public class ConstructorTest2 {
@Mocked
private Constructor constructor = null;
@Test
public void mockConstructor() {
// 可以在任意时候把Mock装置起来,不用的时候可以脱下来
Mockit.setUpMock(Constructor.class, new MockedConstructor());
// 触发构造方法的mock
new Constructor("Constructor");
Assert.assertEquals("mock_Constructor", constructor.getRealName());
// 注意咯,擦亮眼睛了,现在开始脱了
Mockit.tearDownMocks(Constructor.class);
constructor = new Constructor("Constructor");
// 看到了吧,看到真容了
Assert.assertEquals("real_Constructor", constructor.getRealName());
}
/**
* MockedConstructor相当于一个标志,具体名称不重要,重要的要它里面被@Mock注解的方法。如果有方法被注解了@Mock,
* 并且恰好方法的签名又和Mockit.setUpMock中声明的类型中的某个方法一样,那么对应的方法就被Mock
* 为了方便才把这个类的声明放到ConstructorTest2里面的,其实这个类可以放到任何地方
*
* @author Ginge
*
*/
public static class MockedConstructor {
private String memberId;
@Mock
public void $init(String memberId) {
this.memberId = "mock_" + memberId;
}
@Mock
public String getRealName() {
return this.memberId;
}
}
}
分享到:
相关推荐
Mock是一个强大的服务端模拟工具,它的核心特性是零侵入性,这意味着在你的实际项目代码中无需进行...而`mock-fe-master`中的前端代码则是实现这一功能的用户界面部分,通过它,开发者可以直观地管理和配置Mock规则。
用户行为日志生成脚本
Code-Hex-funcy-mock是一个开源项目,其主要功能是根据Go语言的接口(interface)文件自动生成模拟(mock)文件。在软件开发中,尤其是采用面向接口编程时,mock对象扮演着重要的角色,它允许开发者在测试时替换真实...
node-mock-server, 基于文件的node REST API 模拟服务器 node-mock-server基于文件的node REST API 模拟服务器 正在启动这里应用程序需要 node 6 或者更高版本。 对于 node ,请使用 node-mock-serv
可以用来Mock JAVA代码中的静态方法
React-native-mock-render 一个分叉,用于渲染组件 要求 Node.js 4+ 最新版本的react-native 安装 npm i react-native-mock-render --save-dev /* file-that-runs-before-all-of-my-tests.js */ // This will ...
mock-api 原理 基于 OkHttp 的 Interceptor :如果目标url需要mock,则从本地(assets或sdcard)读取数据,否则继续向外发送请求。 使用 首先,在 build.gradle 中添加以下依赖: compile '...
gmall2020-mock-db-2021-11-14.jar
使用"Android-okhttp-json-mock",你可以创建一个本地的mock服务器,这个服务器会响应你定义的特定URL,返回你想要的json数据。这在单元测试、集成测试或者在没有网络环境时都非常有用。你可以设置不同的HTTP方法...
使用 1. 添加依赖 mvn clean package install (deploy) -Dmaven.test.skip=true 编译安装依赖到本地/远程仓库 <groupId>com.cmt</groupId> <artifactId>dubbo-easy-mock <version>1.1.0 <groupId>org....
Mock.js是一个很好的库,国内使用者众多,虽然该库几乎已经停止维护了,但是还是有很多使用者在提问题和PR,这些问题都得不到有效的解决。而且在当前时代下,Mock.js的内置工具,代码质量都明显很陈旧,所以better-...
Mock 测试是一种软件测试方法,旨在模拟一些难以构造或获取的对象,以便进行测试。在测试过程中,Mock 对象可以帮助开发者更好地测试单元测试、集成测试和系统测试。下面是 Mock 测试的详细介绍和 Fiddler ...
总的来说,mock-xhr库为前端开发者提供了一种高效且灵活的手段,可以在离线环境中对使用AJAX的代码进行充分的测试,确保代码质量,提高开发效率。通过熟练掌握并应用这个库,开发者可以更好地应对各种复杂的前端应用...
在`JmockitDemo`项目中,你将找到一个完整的示例,展示了如何将以上所有方法应用于实际的测试场景。这个项目包括了对不同类型的模拟方法的测试用例,有助于理解Jmockit的工作原理和使用方式。 通过熟练掌握Jmockit...
4. **易于集成**:由于loglevel-plugin-mock是基于loglevel设计的,所以它能无缝地与已使用loglevel的项目结合。只需要简单的配置,就可以让测试环境的日志行为符合预期。 在实际项目中,我们可以通过以下步骤来...
在现代Web应用开发中,前后端分离是一种常见的架构模式,它允许前端开发者独立于后端进行界面和用户体验的优化,而无需等待后端接口的完成。`xe-ajax-mock1.4.5.js`是一个专注于这个场景的前端插件,主要用于模拟...
JMockit 是一款 Java 语言的测试框架,主要用于模拟(mocking)和验证对象的行为,以便在单元测试中隔离被测试代码。它支持行为和状态的测试,这使得测试更加灵活和全面。以下是对 JMockit 的关键知识点的详细解释:...
一个简单好用的api-mock工具,模拟后台返回报文,方便前端开发!可注册接口。
单元测试 mock jmockit包 JMockit 是一个轻量级的mock框架是用以帮助开发人员编写测试程序的一组工具和API
在"cdn-mock-demo"这个项目实例中,我们可以预期它包含以下部分: 1. **项目结构**:通常会有一个`src`目录,包含`components`(存放Vue组件)、`routes`(定义Vue Router的路由配置)、`mock`(存放模拟数据和API...