`
yuchujin
  • 浏览: 31340 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JUnit学习笔记-4 EasyMock介绍

阅读更多
EasyMock是一种模拟测试的框架,用他来辅助模拟测试。当在测试过程中一些复杂的对象生成相当麻烦、费时或者根本无法生成时,可以用模拟的对象来代替真实的对象。EasyMock框架就用来方便的生成这些模拟的对象。

使用例子:
	@Test
	public void testAddWithMock(){
		//1.创建模拟对象
		demo = EasyMock.createMock(IMathDemo.class);//EasyMock默认为接口生成模拟对象,如果需为类生成模拟对象需下载扩展包EasyMock Class Extension 
		
		//2.expect 记录
		EasyMock.expect(demo.add(1, 2)).andReturn(3).times(2);
		EasyMock.expect(demo.div(6, 3)).andReturn(2);
		//3.replay 回放
		EasyMock.replay(demo);
                //4.进行测试
		assertEquals(3, demo.add(1,2));
		assertEquals(3, demo.add(1,2));
		assertEquals(2, demo.div(6,3));
		//5.verify 检查EasyMock的执行情况
		EasyMock.verify(demo);
		//EasyMock是根据 记录+回放  测试+检查 的过程
	}

	@Test(expected=RuntimeException.class)
	public void testAddWithMockException(){
		demo = EasyMock.createMock(IMathDemo.class);
                //模拟方法抛出异常
		EasyMock.expect(demo.add(-1,-1)).andThrow(new RuntimeException("运行时错误!!"));
		EasyMock.replay(demo);
		demo.add(-1, -1);
		EasyMock.verify(demo);
	}


EasyMock采用“记录-回放”的工作模式,基本使用步骤:
1.创建Mock对象的控制对象Control(EasyMock类)
2.从控制对象中获取所需要的Mock对象
3.记录测试方法中使用到的参数值和返回值和需要执行的次数,抛出什么异常等。
4.设置Control对象到"回放"模式
5.进行测试
6.测试完毕后,确认对象已经执行了刚才定义的所有操作。

具体的使用方法可以参见我的一遍收藏文章
分享到:
评论

相关推荐

    junit-platform-launcher-1.8.0-M1-API文档-中文版.zip

    赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...

    junit-jupiter-api-5.7.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-api-5.7.2.jar; 赠送原API文档:junit-jupiter-api-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.7.2.pom; ...

    junit-jupiter-5.5.1.rar

    JUnit5相关的 JUnit Jupiter.jar依赖包,主要包含: junit-jupiter-5.5.1.jar,junit-jupiter-api-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-jupiter-api-5.4.2.jar,...

    junit-jupiter-api-5.8.0-M1-API文档-中文版.zip

    赠送jar包:junit-jupiter-api-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-api-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.0-...

    junit-jupiter-api-5.8.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-api-5.8.2.jar; 赠送原API文档:junit-jupiter-api-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.2.pom; ...

    junit-jupiter-engine-5.8.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-engine-5.8.2.jar; 赠送原API文档:junit-jupiter-engine-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...

    junit-jupiter-params-5.7.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-params-5.7.2.jar; 赠送原API文档:junit-jupiter-params-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...

    junit-platform-launcher-1.7.0.jar

    junit-platform-launcher-1.7.0.jarjunit-platform-launcher-1.7.0.jar

    junit-jupiter-api-5.4.2-API文档-中英对照版.zip

    赠送jar包:junit-jupiter-api-5.4.2.jar; 赠送原API文档:junit-jupiter-api-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.4.2.pom; ...

    junit-platform-launcher-1.6.2.jar

    junit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jar

    junit-platform-commons-1.7.0.jar

    junit-platform-commons-1.7.0.jar

    junit-platform-engine-1.8.2-API文档-中文版.zip

    赠送jar包:junit-platform-engine-1.8.2.jar; 赠送原API文档:junit-platform-engine-1.8.2-javadoc.jar; 赠送源代码:junit-platform-engine-1.8.2-sources.jar; 赠送Maven依赖信息文件:junit-platform-engine...

    junit-platform-launcher-1.8.0-M1-API文档-中英对照版.zip

    赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...

    junit-platform-commons-1.8.2-API文档-中英对照版.zip

    赠送jar包:junit-platform-commons-1.8.2.jar; 赠送原API文档:junit-platform-commons-1.8.2-javadoc.jar; 赠送源代码:junit-platform-commons-1.8.2-sources.jar; 赠送Maven依赖信息文件:junit-platform-...

    junit-jupiter-params-5.8.0-M1-API文档-中文版.zip

    赠送jar包:junit-jupiter-params-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-params-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-params-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-...

    junit-jupiter-engine-5.4.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-engine-5.4.2.jar; 赠送原API文档:junit-jupiter-engine-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...

    junit-jupiter-params-5.5.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-params-5.5.2.jar; 赠送原API文档:junit-jupiter-params-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...

    junit-vintage-engine-5.5.2-API文档-中文版.zip

    赠送jar包:junit-vintage-engine-5.5.2.jar; 赠送原API文档:junit-vintage-engine-5.5.2-javadoc.jar; 赠送源代码:junit-vintage-engine-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-vintage-engine-...

    junit-jupiter-api-5.5.2-API文档-中文版.zip

    赠送jar包:junit-jupiter-api-5.5.2.jar; 赠送原API文档:junit-jupiter-api-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.5.2.pom; ...

    junit-platform-launcher-1.6.1-API文档-中文版.zip

    赠送jar包:junit-platform-launcher-1.6.1.jar; 赠送原API文档:junit-platform-launcher-1.6.1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.6.1-sources.jar; 赠送Maven依赖信息文件:junit-platform-...

Global site tag (gtag.js) - Google Analytics