package jmockit.sample;
import jmockit.target.OfferPostAction;
import jmockit.target.WinportUrlServiceImpl;
import junit.framework.Assert;
import mockit.Expectations;
import mockit.Mocked;
import org.junit.Test;
/**
* 静态部分mock示例,靜態Mock是通过注解@Mocked中的字段methods声明的。
*
* @see
* @author Ginge
*
*/
public class StaticPartialMockingTest {
@Mocked(methods = { "[hH]asWinport" }, inverse = false)
// 声明的方法可以使用正则表达式
// methods 代表只有声明的方法才会进行mock, inverse
// 代表是否反转声明,如果inverse=true,那么就是除了声明的方法不mock
private WinportUrlServiceImpl winportUrlService = null;
private OfferPostAction offerPostAction = new OfferPostAction();
@Test
public void testofferPostActionExecute() {
final String memberId = "test2009";
new Expectations() {
{
// 期望被mock的调用,以及被调用时返回的结果
winportUrlService.hasWinport(memberId);
result = false; // 也可以是returns(false);
// 总共可以调用的次数
times = 1;
}
};
// 步骤二、replay 在此阶段,录制的方法可能会被调用
Assert.assertEquals(false, offerPostAction.hasWinport(memberId));
try {
// static partial mock,根据上述@Mocked注解的声明,WinportUrlServiceImpl#
// getWinportUrlmock将不会被mock
offerPostAction.getWinportUrlThrowException(memberId);
Assert.fail();
} catch (Exception e) {
}
}
}
分享到:
相关推荐
C Mock-Google Mock扩展 概述 C Mock是的扩展,允许函数。 仅支持全局(非静态)函数模拟。 这既不是Google Mock的补丁,也不是它的分支。...C Mock不知道是否使用名称修饰声明了模拟函数-这是纯C函数还是C ++
在本文中,我们将深入探讨Jmockit的用法,包括如何模拟不同类型的函数,如公有、私有、静态、final以及接口方法。 ### 1. 模拟公有方法 在单元测试中,我们经常需要隔离被测试代码,以便专注于单个方法的行为。...
本文将深入探讨“graphql-vercel-mock-server”项目,这是一个使用Node.js搭建的GraphQL模拟服务器的示例,非常适合开发人员在实际开发过程中进行测试、学习和演示。 首先,GraphQL的核心理念是提供一种声明式的...
3. 创建Mock:在测试方法中,使用`PowerMockito.mockStatic(Class)`来模拟整个静态类,或者使用`PowerMockito.when(Class.method()).thenReturn(value)`来指定静态方法在特定条件下的返回值。 4. 执行测试:进行正常...
下面是一段使用PowerMock模拟静态方法和私有方法的示例代码: ```java import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.core.classloader.annotations.PrepareForTest; import org....
2. **动态响应配置**:除了静态响应,lws-mock-response 还支持根据请求参数、URL路径等动态生成响应。这使得模拟更加灵活,能够适应各种测试场景。 3. **可扩展性**:作为一个中间件,lws-mock-response 可以与...
- 这个文件可能是MockServer的配置文件或者Java项目的源代码,用于示例或演示如何设置和使用MockServer。你需要解压并检查文件内容,以了解具体用法。 总的来说,"mockserver1.zip"是一个包含MockServer配置和可能...
本文将深入探讨JMockit这一强大的mock框架,它不仅支持模拟私有成员、静态方法,还能自动化地完成mock对象的创建与注入等工作。通过一系列具体示例和概念解析,帮助读者全面掌握JMockit的核心功能及其实现细节。 ##...
当匹配到预设的请求模式时,MockServer会返回预设的响应,这可以是静态的数据、动态生成的数据或者基于某种逻辑的响应。 在"mock3"这个压缩包中,我们可以推测它可能包含MockServer的第三版相关资源,如配置文件、...
MockServer的文档详尽且易懂,提供了丰富的示例,可以帮助你快速上手。同时,社区活跃,遇到问题时可以寻求其他用户的帮助。总之,MockServer 是一款强大而灵活的工具,对于提升软件开发效率和质量有着显著的效果。
在压缩包"Mock"中,可能包含了用于创建和管理Mock API的工具、示例配置文件、以及可能的测试用例。这些资源可以帮助开发者快速上手Mock环境的搭建,理解如何自定义API,并进行有效的前端开发。 为了更深入地利用...
除了Mockito,Java社区还提供了其他mock工具,例如PowerMock,它扩展了Mockito的功能,允许我们模拟静态方法、构造函数、final类和方法,甚至私有方法,这些在标准Mockito中通常是不允许的。 在实际项目中,mock...
模板包含测试基础设施,可能是使用Jest(一个流行的JavaScript测试框架)和模拟库(如`jest-mock`或`jest-environment-jsdom`)。这使得开发人员能够编写单元测试和集成测试,确保代码的质量和稳定性。 5. **...
5. **Mock.js的使用**:学习如何定义Mock规则,创建模拟API,以及在项目中集成Mock.js。 6. **Draggable插件或原生JS实现拖拽排序**:理解拖拽排序的实现原理,可能使用Vue.Draggable或者其他库,或者直接使用Vue的...
- `examples/`:示例,演示Mock Server的常见用法。 - `bin/`:可执行文件或脚本,用于启动和管理Mock Server。 - `README.md`:项目简介和使用指南。 - `.gitignore`:定义了版本控制系统忽略的文件和目录。 通过...
在Java世界中,Mock框架则是单元测试的重要组成部分,它们帮助开发者模拟复杂的系统交互,以便在隔离环境中测试代码。"基于Java探针的Mock框架"可能是指一种结合了这两种技术的工具,它可能是为了提供更高级别的测试...
Google Mock(简称gmock)是一种广泛使用的C++测试框架的一部分,它提供了强大的功能来模拟接口行为。然而,gmock的一个限制在于它仅能直接模拟虚函数。当面对非虚成员函数、静态成员函数、全局函数、重载函数、模板...
6. 静态检查:应用静态代码分析工具,如`golint`、`staticcheck`等,确保代码质量。 7. 打包和发布:生成跨平台的可执行文件,或者打包为`tar.gz`或`zip`等格式。 一个基本的Go项目`Makefile`可能包含以下目标...
- "Google Mock Cookbook":提供了许多实用的示例和最佳实践。 - "Modern C++ Testing with Google Test and Google Mock":一本关于gmock和gtest的书籍,深入介绍了测试技巧和策略。 通过理解并熟练使用gmock,...