`
dannyhz
  • 浏览: 367348 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Easymock mock 异常处理的模拟代码

阅读更多

@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"));

	}
	


分享到:
评论

相关推荐

    模拟测试辅助工具easyMock.zip

    EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助单元测试。 Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较...

    EasyMock介绍及安装方法

    EasyMock 是一种模拟测试的框架,用于辅助模拟测试。当在测试过程中一些复杂的对象生成相当麻烦、费时或者根本无法生成时,可以用模拟的对象来代替真实的对象。 EasyMock 可以 mock 接口和 java 类,但是 class ...

    EasyMock介绍及安装方法含安装方法和所有需要的软件包

    EasyMock 是一个用于生成模拟对象(Mock Object)的类库,主要用于单元测试。它提供了一种简单的方法来模拟接口或类的行为,使得在测试中可以模拟真实环境中的对象。 EasyMock 的主要特点包括: 简单易用:使用 ...

    easymock-4.0-bundle

    它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令 Mock 对象返回指定的值或抛出指定异常。通过 EasyMock,我们可以方便的构造 Mock 对象从而使...

    easymock资料和源代码实例

    里面有easymock的基础知识和原理分析,还有easymock的实例代码。

    easyMock

    easyMock

    easymock的使用,含demo

    EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助单元测试。本文将对 EasyMock 的功能和原理进行介绍,并通过示例来说明如何使用 EasyMock 进行单元测试。 ...

    easymock-4.2.jar

    EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助单元测试。 Mock 方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂...

    5-Mock+EasyMock.rar

    个人作品 5-Mock+EasyMock.rar

    EasyMock的安装与部署所需全部文件.zip

    windows环境部署easymock,有用到的全部文件和安装说明,包换node.js,redis,mongdb,easymock源码

    【mock】打桩说明文档及Jar包

    在java web应用中,进行用例实现时,很多情况难以模拟...它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证方法的调用种类、次数、顺序,可以令 Mock 对象返回指定的值或抛出指定异常。

    easyMock resource

    EasyMock + junit 实例

    EasyMock单元测试例子

    几个例子展示如何使用EasyMock进行单元测试

    easymock2.4+EasyMock使用简明手册.pdf

    easymock2 EasyMock使用简明手册

    easymock

    NULL 博文链接:https://zhengkaifl.iteye.com/blog/1103125

    easymock-3.2.jar

    EasyMock主要是为测试提供模拟数据,比如你可以模拟HttpServletRequest。

    easymock2.4.zip

    easymock2.4 软件测试 mock

    EasyMock是一个可视化并且能快速生成模拟数据的持久化服务

    Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务

    EasyMock用到的objenesis

    EasyMock用到的objenesis

Global site tag (gtag.js) - Google Analytics