- 浏览: 7978702 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
easymock是众多mock之中的很容易用的mock,今天刚开始学习,来个简单的教程.以购物车结算为例子,比如首先是每一个商品项的pojo
然后是购物车的:
在这个购物车的计算中,在计算总价格方面,
total+= (store.getPrice(item.getName()) * item.getQuantity());
这里,依赖了一个额外的对象store,根据store.getPrice()方法求出某个商品的单价,
但这里模拟的是现在根本不知道这个store 是如何实现的,有可能是第三方的,于是
easymock就派上用长了,它可以根据接口去模拟一个实现出来,下面直接看
ShoppingCartTest .java
同junit一样,在before中,
@Before
public void initialize()
{
cart = new ShoppingCart();
storeMock = EasyMock.createMock(Store.class);
cart.setStore(storeMock);
}
storeMock = EasyMock.createMock(Store.class);就可以模拟一个实现出来了,
然后
EasyMock.expect(storeMock.getPrice("Mead Spiral Bound Notebook, College Rule")).andReturn(5.99);
这里,使用easymock的断言机制,断言出这个属的单价是5.99,然后记得使用
EasyMock.replay(storeMock);就可以在真正的测试中,使用store这个对象了;最后记得cleanup中清理下.
简单来说,mock系列框架的大概原理就这样了,接下来就是深入的学习
public class Item { private String name; private int quantity; public Item(String name, int quantity) { super(); this.name = name; this.quantity = quantity; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; }
然后是购物车的:
public class ShoppingCart { private String name; private Store store = null; private List<Item> items = new ArrayList(); public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Item> getItems() { return items; } public void setItems(List<Item> items) { this.items = items; } public void addItem(Item item) { items.add(item); } public void setStore(Store store) { this.store=store; } public Store getStore() { return (this.store); } public Double calculateTotal() { Double total = 0.0; for (Item item : this.items) { total+= (store.getPrice(item.getName()) * item.getQuantity()); } DecimalFormat decim = new DecimalFormat("0.00"); Double price = Double.parseDouble(decim.format(total)); return price; }
在这个购物车的计算中,在计算总价格方面,
total+= (store.getPrice(item.getName()) * item.getQuantity());
这里,依赖了一个额外的对象store,根据store.getPrice()方法求出某个商品的单价,
但这里模拟的是现在根本不知道这个store 是如何实现的,有可能是第三方的,于是
easymock就派上用长了,它可以根据接口去模拟一个实现出来,下面直接看
ShoppingCartTest .java
public ShoppingCart cart = null; public Store storeMock = null; @Before public void initialize() { cart = new ShoppingCart(); storeMock = EasyMock.createMock(Store.class); cart.setStore(storeMock); } @Test public void testShoppingCart() { EasyMock.expect(storeMock.getPrice("Mead Spiral Bound Notebook, College Rule")).andReturn(5.99); EasyMock.expect(storeMock.getPrice("Kindle Fire HD 8.9")).andReturn(499.99); //开始使用mock EasyMock.replay(storeMock); Item item1 = new Item("Mead Spiral Bound Notebook, College Rule", 3); Item item2 = new Item("Kindle Fire HD 8.9",1); cart.addItem(item1); cart.addItem(item2); double total = cart.calculateTotal(); System.out.println("Total price of items in shopping cart: $"+total); assertEquals("Result",505.96, total,0); } @After public void cleanup() { cart=null; storeMock=null; }
同junit一样,在before中,
@Before
public void initialize()
{
cart = new ShoppingCart();
storeMock = EasyMock.createMock(Store.class);
cart.setStore(storeMock);
}
storeMock = EasyMock.createMock(Store.class);就可以模拟一个实现出来了,
然后
EasyMock.expect(storeMock.getPrice("Mead Spiral Bound Notebook, College Rule")).andReturn(5.99);
这里,使用easymock的断言机制,断言出这个属的单价是5.99,然后记得使用
EasyMock.replay(storeMock);就可以在真正的测试中,使用store这个对象了;最后记得cleanup中清理下.
简单来说,mock系列框架的大概原理就这样了,接下来就是深入的学习
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1630方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2037前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3501info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2258import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 510https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 710public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 637https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 690https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 456https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5751 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3128微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 637https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1860什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 986本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1400原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 883public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 695在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 956-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 789一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1923介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
在入门EasyMock时,首先需要了解的是模拟(mocking)的概念。模拟是为测试目的创建对象,这些对象的行为是可以预定义的。通过模拟,我们可以确保测试只关注于我们想要测试的代码部分,而不是外部依赖的影响。...
【EasyMock介绍】 EasyMock是一个强大的Java库,用于创建模拟对象(Mock Objects),它使得单元测试变得更加简单。在测试过程中,模拟对象可以替代真实的依赖,这样我们就可以专注于测试单个方法,而不用担心其他...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的交互场景。这个框架的出现,极大地简化了对那些难以或无法直接实例化的类的测试,比如接口或者静态方法。EasyMock...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的依赖关系。这个框架的出现使得测试更加简洁、独立,可以有效地验证代码的正确性,而无需运行实际的依赖服务或库。...
它们可以作为起点,帮助初学者快速上手。 4. **所需jar包**:这是EasyMock运行所需的库文件。在Java项目中,你需要将这些jar包添加到类路径(classpath)中,以便在代码中引入并使用EasyMock的API。 使用EasyMock...
EasyMock可以帮助快速搭建测试环境,验证代码功能。 3. **复杂逻辑验证**:对于有复杂条件判断或流程控制的代码,EasyMock可以设置不同的调用顺序和返回值,以便全面检查各种可能的情况。 4. **减少环境影响**:在...
easymock 是一个开放源码的 mock 对象库,用于帮助开发者快速轻松地创建用于单元测试的 mock 对象。 EasyMock 使用动态代理,让开发者只需一行代码就能够创建任何接口的基本实现。 EasyMock 的使用可以帮助开发者...
Easymock是一个流行的Java单元测试框架,它允许开发者创建模拟对象来测试代码。这个框架使得测试更加简单,因为你可以模拟任何复杂的交互和行为,而无需实际运行依赖的组件。在给定的压缩包文件中,包含两个核心的...
这些内容不仅为初学者提供了良好的入门指导,也给经验丰富的开发者带来了进一步深化和巩固知识的机会。 《高性能JavaScript编程》则由Nicholas C. Zakas撰写,他不仅是ECMAScript Harmony项目的成员,也是一位在高...
它可以帮助开发者快速定位问题,提高代码质量,减少回归测试的工作量。 总结来说,EasyMock 2.4是Java开发中的一个重要工具,它通过模拟对象简化了单元测试,使得测试更加可控和可读。通过阅读《EasyMock使用简明...
EasyMock 是一个强大的Java模拟框架,它允许开发者在单元测试中创建和控制对象的行为,以模拟复杂的系统交互。这个框架的使用可以极大地提高测试的效率和覆盖率,因为它使得测试代码可以独立于实际的依赖进行执行。 ...
EasyMock 简介 EasyMock 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库,旨在解决单元测试中的 Mock 对象构建问题。以下是 EasyMock 的详细介绍: 单元测试与 Mock 方法 单元测试是对应用中的某一...
EasyMock是一款强大的模拟框架,主要用于Java单元测试。它允许开发者创建和控制对象的模拟行为,以便在测试过程中隔离被测试代码。在这个“EasyMock的安装与部署所需全部文件.zip”压缩包中,包含了在Windows环境下...
6. **示例**:压缩包中的示例提供了使用Easymock的实际代码,通过学习这些例子,你可以快速上手Easymock,并将它应用到自己的项目中。 7. **文档**:Easymock的文档详细介绍了如何安装、配置以及如何使用它的各种...
2. `GettingStartedGuide.pdf`:这个指南提供了快速上手的教程,指导开发者如何在项目中引入 EasyMock,并通过简单的例子展示如何进行单元测试。例如,使用 `EasyMock.expect()` 方法设定预期,然后调用 `EasyMock....
EasyMock 是一个强大的开源工具,专门用于生成模拟对象(Mock Objects),在软件开发特别是单元测试领域,它扮演着至关重要的角色。这个工具的版本为2.5.2,提供了对Java编程语言的支持,使得开发者能够方便地创建和...
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来协助测试代码。这款框架使得测试变得简单,因为它可以模拟任何接口的行为,而无需实际实现这些接口。下面我们将详细探讨Easymock的基本概念、工作...
EasyMock 是一个强大的开源Java模拟框架,用于进行单元测试。它允许开发者创建模拟对象来代替真实的依赖,以便在测试过程中可以完全控制它们的行为。在这个"EasyMock 使用案例(含lib)"中,我们将会深入探讨如何...
Easymock 3.0 是一个流行的Java模拟框架,用于进行单元测试。它使得开发者能够在测试代码中创建和控制对象的行为,以便于隔离被测试代码并确保其正确性。在单元测试中,Easymock允许我们创建mock对象,这些对象模仿...