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

JMockit使用实例<三>验证被Mock的类的某个方法是否被调用

阅读更多
  • 关键词:Verifications 想验证被Mock的类的某个方法是否被调用
  • 单元测试类清单
  • /**
     * 演示验证被Mock的类的某个方法是否被调用
     * @sina weibo regbin@tom.com
     */
    public class ServiceTest {
    
        @Mocked
        Remote remote;
    
        @Test
        public void testDoFuncYes() {
            Service service = new Service();
            service.doFunc(true, 1);
            new Verifications() {
                {
                    remote.doSomething(anyInt);//表示这个方法会被执行
                    //remote.doSomething(1);//表示这个方法会被执行,而且参数是1;在当前case,会通过
                    //remote.doSomething(2);//表示这个方法会被执行,而且参数是2;在当前case,这个会不被通过
    
                }
            };
    
        }
    
        @Test
        public void testDoFuncNo() {
            Service service = new Service();
            service.doFunc(false, 1);
            new Verifications() {
                {
                    remote.doSomething(anyInt);
                    times = 0;//调用次数,0表示上面方法不会被调用
                }
            };
        }
    
        private static class Remote {
            public void doSomething(int a) {
            }
        }
    
        private static class Service {
    
            private Remote remote = new Remote();
    
            public void doFunc(boolean flag, int a) {
                if (flag) {
                    remote.doSomething(a);
                }
            }
        }
    
    }

     

  • 小结
    有时候我们想验证某个类的方法是否被正确调用的时候,上述Verifications就派上用场了
  • 分享到:
    评论

    相关推荐

      servlet.jar 等

      &lt;br&gt;saaj.jar&lt;br&gt;serializer-2.7.0.jar&lt;br&gt;servlet.jar&lt;br&gt;servlet-api.jar&lt;br&gt;slf4j-api-1.3.1.jar&lt;br&gt;slf4j-simple-1.3.1.jar&lt;br&gt;smtp.jar&lt;br&gt;soap.jar&lt;br&gt;spring.jar&lt;br&gt;spring-mock.jar&lt;br&gt;standard.jar&lt;br&gt;...

      thrift-mock:用于模拟节俭服务的轻量级Java测试库

      导入Maven依赖与junit一起工作 &lt; dependency&gt; &lt; groupId&gt;com.didiglobal.thriftmock&lt;/ groupId&gt; &lt; artifactId&gt;thrift-mock-server4junit&lt;/ artifactId&gt; &lt; version&gt;1.0.2&lt;/ version&gt; &lt;/ dependency&gt; 在没有junit的...

      (2.0版本)自己写的struts2+hibernate+spring实例

      直接配置即可.&lt;br&gt;&lt;br&gt;以下是一些相关说明.&lt;br&gt;&lt;br&gt;&lt;br&gt;数据库脚本&lt;br&gt;create table HUBO_USER&lt;br&gt;(&lt;br&gt; ID VARCHAR2(32) not null,&lt;br&gt; NAME VARCHAR2(100),&lt;br&gt; BIRTHDAY DATE,&lt;br&gt; PASSWORD VARCHAR2(100),&lt;br&gt; ...

      JSF与Shale开发用包

      aop.jar&lt;br&gt;spring-beans.jar&lt;br&gt;spring-context.jar&lt;br&gt;spring-core.jar&lt;br&gt;spring-dao.jar&lt;br&gt;spring-hibernate.jar&lt;br&gt;spring-jdbc.jar&lt;br&gt;spring-mock.jar&lt;br&gt;spring-orm.jar&lt;br&gt;spring-remoting.jar&lt;br&gt;spring-...

      基于springboot演示resuful api、mock请求、validate验证、异常捕捉、aop切面编程+源代码+文档说

      RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源 # 注意事项 ### 1.maven 依赖 ```maven &lt;!-- springCloud 主要用于jar包的版本...

      使用PowerMock来Mock静态函数

      这里,`when()`方法定义了当`Math.random()`被调用时应返回的值,`thenReturn()`指定了返回的具体值。 **注意事项** 1. PowerMock的使用可能会增加测试的复杂性,因为它涉及到字节码操作,可能导致测试执行速度变慢...

      JMOCKIT mock 静态方法 单元测试

      可以用来Mock JAVA代码中的静态方法

      maven+jmock

      &lt;artifactId&gt;jmockit&lt;/artifactId&gt; &lt;version&gt;1.47&lt;/version&gt; &lt;scope&gt;test&lt;/scope&gt; &lt;/dependency&gt; --&gt; &lt;/dependencies&gt; ``` 这里,我们添加了 JMock 的 JUnit4 版本。如果你的项目使用 JUnit5,你需要添加对应的 ...

      spring集成TestNG与Mockito框架单元测试方法

      `when(...).thenReturn(...)`语句定义了`userRepository.getUserById`方法的行为,当被调用时返回一个预设的`User`对象。最后,`Assert.assertEquals`验证了`userService.getUserById`的返回值是否符合预期。 在...

      Mock基础教程

      如果需要记录某个方法被调用的次数,可以使用`Callback`方法。 ```csharp void AddCall(); var customer = new Mock&lt;ICustomer&gt;(); int iCount = 0; customer.Setup(p =&gt; p.AddCall()).Callback(() =&gt; ...

      Geoserver WPS服务开发教程

      [CDATA[' + point + ']]&gt;&lt;/wps:LiteralData&gt;&lt;/wps:Data&gt;&lt;/wps:Input&gt;&lt;/wps:DataInputs&gt;&lt;wps:ResponseForm&gt;&lt;wps:RawDataOutput&gt;&lt;ows:Identifier&gt;output&lt;/ows:Identifier&gt;&lt;/wps:RawDataOutput&gt;&lt;/wps:ResponseForm&gt;&lt;/...

      JMockit学习分享

      在此示例中,我们首先使用`@Mocked`注解创建了一个`UserRepository`的mock对象,并使用`@Tested`注解指定了被测试的`UserService`类。接下来,我们定义了一个`Expectations`块来记录预期行为,然后调用`userService....

      Spring Boot与MyBatis结合 实现对mock平台改造

      在IT行业中,Mock平台是一种非常重要的工具,它允许开发者在真实环境尚未准备好或者不适宜进行测试时,模拟接口数据,以便于快速进行开发和测试。本篇将详细讲解如何使用Spring Boot与MyBatis框架结合,对Mock平台...

      Ajax in action 英文版配书源码.rar

      Dear 'Ajax in Action' Readers,&lt;br&gt;&lt;br&gt;This zip file gathers together the source code for the... Your feedback is welcome.&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Dave Crane&lt;br&gt;Gloucestershire UK&lt;br&gt;November 2005 &lt;br&gt;&lt;br&gt;

      mock EF DbContext DbSet

      2. **创建DbContext的Mock**:创建一个DbContext的Mock对象,使用Moq的`Mock&lt;DbContext&gt;`构造函数。例如: ```csharp var mockDbContext = new Mock&lt;MyDbContext&gt;(); ``` 其中,`MyDbContext`是你的自定义...

      dubbo-easy-mock:针对Dubbo接口的Mock解决方案

      这个框架的作用 在自动测试中,针对dubbo接口进行mock的框架 ... &lt;artifactId&gt;dubbo-easy-mock&lt;/artifactId&gt; &lt;version&gt;1.1.0&lt;/version&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;groupId&gt;org.apache.dubbo&lt;/grou

      jmockit总结

      例如,你可以设置当某个方法被调用时返回特定值,或者在特定条件下抛出异常。 2. **基于状态的 Mocking**: 在基于状态的测试中,我们关注的是对象的内部状态,比如它的属性值。JMockit 的 `Mockup` 类用于此类...

      springboot搭建mock

      然后编写测试方法,调用被测试对象的方法,并验证Mock对象是否按预期工作: ```java @Test public void testMyMethod() { String result = myClass.myMethod(); assertEquals("Mocked Result", result); } ``...

    Global site tag (gtag.js) - Google Analytics