- 浏览: 393811 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (760)
- 股票日志 (26)
- Selenium (0)
- selenium 2 环境的搭建 (1)
- 并发 (7)
- 框架开发 (1)
- 动态代理 (2)
- Struts2 (2)
- POI (2)
- jdk (3)
- maven (31)
- spring (35)
- mysql (31)
- 工作机会 (3)
- xtream (1)
- oracle dbms_metadata GET_DDL (0)
- SSI (1)
- DB (61)
- powermock (4)
- java 基础 (25)
- 多线程 (11)
- 高手 (2)
- java 底层 (2)
- 专业网站 (1)
- 开发联想 (1)
- 开发联想 (1)
- bat文件 (2)
- 清queue 语句 (1)
- 清queue 语句 (1)
- jquery (7)
- html5 (1)
- Jenkins (10)
- Linux (17)
- 工作issue (2)
- tomcat log (3)
- jvm (23)
- 项目细节 (0)
- oracle (41)
- 泛型 (3)
- 新知识点 (1)
- 数据库ddl 语句 (0)
- AQ (2)
- jms (0)
- 网络资源 (6)
- github (6)
- Easymock (1)
- Dom 解析XML (1)
- windows命令 (2)
- java (7)
- 正则表达式 (5)
- sequence (1)
- oracle 表meta信息 (1)
- 小工具技巧 (1)
- 辅助工具 (1)
- Junit (1)
- 泛型 generic (2)
- Java程序设计 (1)
- cglib (2)
- 架构师之路 (1)
- 数据库连接池 (5)
- c3p0 (1)
- eclipse使用 (1)
- oracle sql plus (1)
- 码农人生 (3)
- SVN (15)
- sqlplus (2)
- jsoup (1)
- 网络爬虫 (2)
- 新技能 (1)
- zookeeper (4)
- hadoop (1)
- SVNKIT (1)
- 从工具到知识点的整理 (1)
- log4j (13)
- 读文件 (0)
- 转义字符 (1)
- command (1)
- web service (3)
- 锁 (1)
- shell 脚本 (1)
- 遇到的错误 (2)
- tomcat (14)
- 房产 (5)
- bootstrap jquery ui (1)
- easyui (2)
- 个人征信 (1)
- 读写分离 (1)
- 备份 (1)
- rmi (6)
- webservice (1)
- JMX (4)
- 内存管理 (3)
- java设计 (1)
- timer (1)
- lock (2)
- concurrent (2)
- collection (1)
- tns (1)
- java基础 (15)
- File (1)
- 本机资源 (1)
- bat (1)
- windows (4)
- 数据结构 (3)
- 代码安全 (1)
- 作用域 (1)
- 图 (2)
- jvm内存结构 (1)
- 计算机思想 (1)
- quartz (6)
- Mongo DB (2)
- Nosql (4)
- sql (5)
- 第三方Java 工具 jar 项目 (2)
- drools (1)
- java swing (2)
- 调用console (1)
- runtime (1)
- process (1)
- swing (2)
- grouplayout (1)
- dubbo (0)
- bootstrap (0)
- nodejs (2)
- SVN hooks (1)
- jdbc (3)
- jdbc error (1)
- precedure (1)
- partition_key (1)
- active mq (1)
- blob (2)
- Eclipse (6)
- web server (1)
- bootstrapt (2)
- struts (1)
- ajax (1)
- js call back (1)
- 思想境界拓展 (1)
- JIRA (1)
- log (1)
- jaxb (3)
- xml java互相转换 (1)
- 装修 (2)
- 互联网 (2)
- threadlocal (3)
- mybatis (22)
- xstream (1)
- 排序 (1)
- 股票资源 (1)
- RPC (2)
- NIO (3)
- http client (6)
- 他人博客 (1)
- 代理服务器 (1)
- 网络 (2)
- web (1)
- 股票 (5)
- deadlock (1)
- JConsole (2)
- activemq (3)
- oralce (1)
- 游标 (1)
- 12月13日道富内部培训 (0)
- grant (1)
- 速查 (2)
- classloader (4)
- netty (4)
- 设计模式 (2)
- 缓存 (2)
- ehcache (2)
- framework (1)
- 内存分析 (2)
- dump (1)
- memory (2)
- 多高线程,并发 (1)
- hbase (2)
- 分布式系统 (1)
- socket (3)
- socket (1)
- 面试问题 (1)
- jetty (2)
- http (2)
- 源码 (1)
- 日志 (2)
- jni (1)
- 编码约定 (1)
- memorycache (1)
- redis (13)
- 杂谈 (1)
- drool (1)
- blockingqueue (1)
- ScheduledExecutorService (1)
- 网页爬虫 (1)
- httpclient (4)
- httpparser (1)
- map (1)
- 单例 (1)
- synchronized (2)
- thread (1)
- job (1)
- hashcode (1)
- copyonwriteArrayList (2)
- 录制声音 (1)
- java 标准 (2)
- SSL/TLS (1)
- itext (1)
- pdf (1)
- 钻石 (2)
- sonar (1)
- unicode (1)
- 编码 (4)
- html (1)
- SecurityManager (1)
- 坑 (1)
- Restful (2)
- svn hook (1)
- concurrentHashMap (1)
- 垃圾回收 (1)
- vbs (8)
- visual svn (2)
- power shell (1)
- wmi (3)
- mof (2)
- c# (1)
- concurrency (1)
- 劳动法 (1)
- 三国志游戏 (2)
- 三国 (1)
- 洪榕 (2)
- 金融投资知识 (1)
- motan (1)
- tkmybatis mapper (1)
- 工商注册信息查询 (1)
- consul (1)
- 支付业务知识 (2)
- 数据库备份 (1)
- 字段设计 (1)
- 字段 (1)
- dba (1)
- 插件 (2)
- PropEdit插件 (1)
- web工程 (1)
- 银行业知识 (2)
- 国内托管银行 (1)
- 数据库 (1)
- 事务 (2)
- git (18)
- component-scan (1)
- 私人 (0)
- db2 (14)
- alias (1)
- 住房 (1)
- 户口 (1)
- fastjson (1)
- test (6)
- RSA (2)
- 密钥 (1)
- putty (1)
- sftp (1)
- 加密 (1)
- 公钥私钥 (3)
- markdown (1)
- sweet (1)
- sourcetree (1)
- 好工具 (1)
- cmd (1)
- scp (1)
- notepad++ (1)
- ssh免密登录 (1)
- https (1)
- ssl (2)
- js (2)
- h2 (1)
- 内存 (2)
- 浏览器 (1)
- js特效 (1)
- io (1)
- 乱码 (1)
- 小工具 (1)
- 每周技术任务 (1)
- mongodb (7)
- 内存泄漏 (1)
- 码云 (2)
- 如何搭建java 视频服务器 tomcat (1)
- 资源 (1)
- 书 (1)
- 四色建模法 (1)
- 建模 (1)
- 配置 (1)
- 职位 (1)
- nginx (1)
- excel (1)
- log4j2 (2)
- 做菜 (1)
- jmap (1)
- jspwiki (1)
- activiti (1)
- 工作流引擎 (1)
- 安卓 (1)
- acitviti 例子 (1)
- 二维码 (1)
- 工作流 (1)
- powerdesign (2)
- 软件设计 (1)
- 乐观锁 (1)
- 王者荣耀 (1)
- session (2)
- token (5)
- cookie (4)
- springboot (24)
- jwt (2)
- 项目路径 (1)
- magicbook (1)
- requestType (1)
- json (2)
- swagger (1)
- eolinker (1)
- springdata (1)
- springmvc (1)
- controlleradvice (1)
- profile (1)
- 银行四要素 (1)
- 支付人员资源 (1)
- 支付渠道 (1)
- yaml (1)
- 中文编码 (1)
- mongo (2)
- serializable (1)
- 序列化 (1)
- zyd (1)
- unittest (1)
- 工具 (1)
- Something (1)
- 通达信 (1)
- protobuf (1)
- 算法 (1)
- springcloud (2)
- hikari (1)
- rocketmq (7)
- cachecloud (1)
- serfj (1)
- axure (1)
- lombok (1)
- 分布式锁 (1)
- 线程 (2)
- 同步代码块 (1)
- cobar (1)
- mq (1)
- rabbitmq (1)
- 定时执行 (1)
- 支付系统 (3)
- 唱歌 (1)
- elasticjob (1)
- 定时任务 (1)
- 界面 (1)
- flink (2)
- 大数据 (1)
- 接私活 (0)
- 内部培训 (2)
最新评论
-
dannyhz:
做股票从短线 试水,然后 慢慢发现 波段和 中期的故事可挖, ...
搭台唱戏 -
dannyhz:
http://developer.51cto.com/art/ ...
如何自己开发框架 它的注意点是什么
@Test(expected = ReferenceRetryException.class) public void testTryErrorsButHasReturn() throws Exception { String schema = "BPOS"; Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("REGION_FUND", "SRS1"); parameters.put("CLIENT_ACCT", "SLX1"); parameters.put("CUSIP", "007942006"); ReferenceMeta rm = new ReferenceMeta(); rm.setMetaKey("metaKey"); rm.setSchema(schema); rm.setRequestNumber("500011"); rm.setContext("osw"); rm.setOutputFields("Fieldname1,Fieldname2,Fieldname3"); rm.setRegion("UA1NA"); parameters.put(Constants.PARAM_META, rm); parameters.put(Constants.PARAM_COLUMNS_CACHED, true); String user = "user"; String password = "pass"; final Client client2 = mockControl.createMock(Client.class); client2.signOn(user, password); expectLastCall().times(3); ResultSet resultSet = null; try { resultSet = mockControl.createMock(ResultSet.class); Column[] columns = new Column[2]; columns[0] = createMockBuilder(Column.class).withConstructor("column1", "string").createMock(); columns[1] = createMockBuilder(Column.class).withConstructor("column2", "string").createMock(); expect(resultSet.getColumns()).andReturn(columns); String status = "INTERNAL ERROR [B061 ERROR: BRIHRC_INVALID_FACILITYTOKEN - Tran=ATNU, Compcode=001]"; expect(resultSet.getString("__status")).andReturn(status); expectLastCall().times(1); expect(resultSet.getString("__errorMsg")).andReturn(""); expectLastCall().times(1); expect(resultSet.getString("column1")).andReturn("value1"); expectLastCall().times(1); expect(resultSet.getString("column2")).andReturn("value2"); expectLastCall().times(1); expect(resultSet.next()).andReturn(true); expectLastCall().times(1); expect(resultSet.next()).andReturn(false); expectLastCall().times(1); } catch (Exception e1) { e1.printStackTrace(); } expect(client2.process((String) anyObject())).andReturn(resultSet).times(2); custodyChannel = new CustodyReferenceChannel() { @Override protected Client createClient(String signUrl, String metaKey) { return client2; } }; custodyChannel.setUser(user); custodyChannel.setPassword(password); setReferenceBuilder(); mockControl.replay(); ReferenceSet rs = custodyChannel.getReference(schema, parameters); Assert.assertNotNull(rs); Assert.assertEquals(schema, rs.getSchema()); Assert.assertEquals(1, rs.getDataList().size()); Assert.assertEquals("value1", rs.getDataList().get(0).get("column1")); Assert.assertEquals("value2", rs.getDataList().get(0).get("column2")); }
- CustodyReferenceChannelTestCase.zip (2.5 KB)
- 下载次数: 0
相关推荐
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来协助测试代码。这款框架使得测试变得简单,因为它可以模拟任何接口的行为,而无需实际实现这些接口。下面我们将详细探讨Easymock的基本概念、工作...
这时,我们可以使用EasyMock创建B的mock对象,设置其返回值或抛出异常,然后在JUnit测试中使用这个mock对象代替真实的B,从而专注于测试类A的行为。 在文件名称列表`testFromwork`中,可能包含了相关的测试代码示例...
- **异常模拟**:可以设置模拟对象在特定方法调用时抛出异常,模拟错误情况。 - **匹配器**:使用EasyMock提供的匹配器(如`eq()`、`anyObject()`等)可以精确控制方法参数的匹配条件。 - **顺序模拟**:如果多个...
4. **回调(Callback)**:EasyMock支持在模拟对象的方法被调用时执行自定义代码,这可以用来模拟更复杂的行为。 下面是一些使用EasyMock的关键知识点: 1. **创建模拟对象**:使用`EasyMock.createMock()`创建...
1. **模拟对象(Mock Object)**:EasyMock允许我们创建模拟对象,这些对象可以模仿真实对象的行为,但不会执行实际的业务逻辑。这样,我们可以在测试中专注于代码的单一行为,而不受其他依赖的影响。 2. **期望...
例如,如果你有一个名为`MyInterface`的接口,你可以这样创建它的模拟对象:`MyInterface mock = EasyMock.createMock(MyInterface.class);` 2. **定义预期**:接着,你需要使用`expect()`方法设置模拟对象的方法...
【标题】"5-Mock+EasyMock.rar" 涉及到的是软件开发中的测试技术,特别是关于模拟对象(Mock Objects)和EasyMock框架的应用。在软件开发中,特别是使用面向对象编程时,Mock对象是一种重要的测试策略,它用于替代...
EasyMock和Mockito是两个广泛使用的Java模拟框架,它们可以帮助开发者在隔离环境中测试代码,避免了依赖其他组件或服务的复杂性。本文将详细介绍这两个工具的使用方法、原理和差异。 **EasyMock** EasyMock是一个...
1. **模拟对象(Mock Object)**:这是由EasyMock生成的对象,它的行为可以被预定义。在测试中,你可以告诉模拟对象如何响应特定的调用。 2. **期望(Expectations)**:在测试中,你需要设置对模拟对象的期望调用...
3. **异常模拟**:如果你想让模拟对象在特定方法调用时抛出异常,可以使用`expect().andThrow()`。这有助于测试异常处理代码。 4. **验证调用**:使用`replay()`方法启动模拟对象的验证阶段,之后所有对模拟对象的...
EasyMock 是一个强大的开源工具,专门用于生成模拟对象(Mock Objects),在软件开发特别是单元测试领域,它扮演着至关重要的角色。这个工具的版本为2.5.2,提供了对Java编程语言的支持,使得开发者能够方便地创建和...
2. **返回值和异常的控制**:你可以指定mock对象在特定方法被调用时返回什么值或抛出什么异常,以测试代码的错误处理逻辑。 3. **验证方法调用**:测试结束后,Easymock会验证所有预定义的预期是否已满足,这有助于...
- **ClassMocking**:Easymock支持对特定类的实例进行Mock处理,这在需要模拟非接口类型的类时非常有用。 ##### 1.7 Mock的限制 - **构造函数调用**:Mock对象无法模拟构造函数调用。 - **静态方法**:默认情况下...
5. **异常测试**:可以设置mock对象抛出预期的异常,以便测试错误处理代码: ```java EasyMock.expect(myMock.someMethod()).andThrow(new SomeException()); ``` 6. **部分Mock**:有时候,你可能希望只对某些...
- **模拟依赖对象**:使用easymock模拟待测代码中的依赖对象,以确保测试的独立性和可重复性。 - **验证交互**:通过easymock记录待测代码与模拟对象之间的交互,确保其按预期工作。 - **简化测试编写**:easymock...
Easymock是一款强大的Java单元测试工具,它允许开发者创建模拟对象来测试代码。这个压缩包包含的是Easymock的3.2版本,其中包括文档、源码和示例,对于学习和理解Easymock的工作原理以及如何在实际项目中使用它非常...
Nice Mock允许所有未设置期望的方法默认返回默认值,而Strict Mock则会在未设置期望的方法被调用时抛出异常,这有助于发现未覆盖的代码路径。 此外,Easymock 3.3版本引入了一些增强特性,比如对Java代理的支持,...
除了基本的模拟和期望,EasyMock还提供了更高级的功能,如 Nice Mocks(对未预期的调用返回默认值)、Strict Mocks(对未预期的调用抛出异常)以及Partial Mocks(部分模拟,只模拟部分方法)等。此外,还可以结合...
它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令 Mock 对象返回指定的值或抛出指定异常。通过 EasyMock,我们可以方便的构造 Mock 对象从而使...