Junit - JMock 入门
来源:互联网 发布:薛蟠 知乎 编辑:程序博客网 时间:2024/05/16 14:21
1.JMock 入门
官网:http://jmock.org/getting-started.html
所用版本:jmock-2.6.0.jar
引用jar包:
2.实例
2.1 接口服务
package com.weizhi.jmock.demo;/** * @ClassName IService * @Description TODO * @Author weizhi2018 * @Date 2013-10-22 下午02:25:58 * */public interface IService {public String service(String data);}
2.2 测试用例
package com.weizhi.jmock.demo;import junit.framework.TestCase;import org.jmock.Expectations;import org.jmock.Mockery;import org.junit.After;import org.junit.Before;import org.junit.Test;public class ServiceTest extends TestCase{private Mockery context = null;private IService service = null;@Beforepublic void setUp() throws Exception {context = new Mockery();service = context.mock(IService.class);final String data = "weizhi2018";context.checking(new Expectations(){{ allowing(service).service(data);//支持两次调用//will(returnValue("true")); will(onConsecutiveCalls( returnValue("true"), returnValue("false"))); }});}@Afterpublic void tearDown() throws Exception {super.tearDown();}/** * Test method for * {@link com.weizhi.jmock.demo.IService#service(java.lang.String)}. */@Testpublic void testService() {assertEquals(service.service("weizhi2018"), "true");assertEquals(service.service("weizhi2018"), "false");//assertEquals(service.service("weizhi2018"), "true");}}
如果第三次调用
//assertEquals(service.service("weizhi2018"), "true");去掉注释,就会报错:
no more actions available: iService.service("weizhi2018")expectations: allowed, already invoked 3 times: iService.service("weizhi2018"); returns "true", and then returns "false" parameter 0 matched: "weizhi2018"what happened before this: iService.service("weizhi2018") iService.service("weizhi2018")at org.jmock.api.ExpectationError.unexpected(ExpectationError.java:23)at org.jmock.lib.action.ActionSequence.invoke(ActionSequence.java:34)at org.jmock.internal.InvocationExpectation.invoke(InvocationExpectation.java:165)at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:81)at org.jmock.Mockery.dispatch(Mockery.java:231)at org.jmock.Mockery.access$100(Mockery.java:29)at org.jmock.Mockery$MockObject.invoke(Mockery.java:271)at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)at org.jmock.internal.SingleThreadedPolicy$1.invoke(SingleThreadedPolicy.java:21)at org.jmock.lib.JavaReflectionImposteriser$1.invoke(JavaReflectionImposteriser.java:33)at com.sun.proxy.$Proxy0.service(Unknown Source)at com.weizhi.jmock.demo.ServiceTest.testService(ServiceTest.java:80)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at junit.framework.TestCase.runTest(TestCase.java:168)at junit.framework.TestCase.runBare(TestCase.java:134)at junit.framework.TestResult$1.protect(TestResult.java:110)at junit.framework.TestResult.runProtected(TestResult.java:128)at junit.framework.TestResult.run(TestResult.java:113)at junit.framework.TestCase.run(TestCase.java:124)at junit.framework.TestSuite.runTest(TestSuite.java:232)at junit.framework.TestSuite.run(TestSuite.java:227)at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
- Junit - JMock 入门
- [JMock] JMock快速入门
- JMock入门
- Junit和Jmock使用
- JUnit与JMock学习-3
- JMock使用入门
- JMock测试入门
- JMock测试入门
- (1)jmock测试入门
- (2)jmock测试入门
- (3)jmock测试入门
- JMock
- Jmock
- JMOCK
- jmock
- 简单示例mock的使用 (Junit结合Jmock)
- 在junit中利用jmock进行测试出现的问题
- 菜鸟学习Jmock测试-入门(一)
- 视频基本术语
- 了解系统及卡片完成
- 金融的资料
- win7+VS2010/2012+cocos2d-x-V2.1.4 环境安装+使用模板
- 几种常用的视频接口
- Junit - JMock 入门
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- Activity之间的数据传递: Intent
- oracle11 表空间查询sql
- redis的底层架构
- 应聘漂亮回答
- POJ 1141 DP
- Boost库
- java jxl读取excel