`
qqchinaok
  • 浏览: 218329 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多
   
  • 关键词: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);            }        }    }}
     
  • 小结<br>有时候我们想验证某个类的方法是否被正确调用的时候,上述verifications就派上用场了
  •  
    0
    1
    分享到:
    评论

    相关推荐

      JMOCKIT mock 静态方法 单元测试

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

      JMockit学习分享

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

      jmockit总结

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

      jmockit中文教程

      - **伪装未被实现的类**:即使某个类没有被完全实现,也可以通过JMockit对其进行伪装。 #### 代码覆盖 代码覆盖率是衡量测试质量的重要指标之一,JMockit提供了相关的工具来评估测试覆盖情况: - **行覆盖**:...

      JMockit基础教程

      2. **交互验证(Interaction Verification)**:确认方法被调用的次数、顺序和参数。这有助于确保被测试代码与模拟对象之间的交互是正确的。 ### **测试风格** JMockit支持两种主要的测试风格: 1. **行为导向...

      单元测试与 Mock 方法

      Mock方法是模拟真实对象的方法,它能够返回预定义的值,或者在被调用时执行特定的操作。这种方式使得测试可以隔离,不受实际依赖的影响。例如,我们可以创建一个Mock数据库连接,让它总是返回预期的数据,从而测试...

      Mock模拟测试使用

      在使用Mock对象时,可以通过设置预期来规定方法应该被调用的次数、传递的参数以及应返回的结果。这样可以在测试中确保代码的行为符合预期。 ##### 2.4、验证预期的结果 验证是指在测试完成后检查Mock对象的行为是否...

      mock.js实现模拟生成假数据功能示例

      本文实例讲述了mock.js实现模拟生成假数据功能。分享给大家供大家参考,具体如下: mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可...

      基于python的mock测试数据练习

      1. `assert_called_once_with()`: 检查mock对象是否被调用一次,并且参数匹配。 ```python mock_obj.some_method.assert_called_once_with(arg1, arg2) ``` 2. `call_count`: 查看mock对象被调用的次数。 ```python ...

      jmockit-1.2

      在这个例子中,我们模拟了`DatabaseConnection`类的`getUserData`方法,并设置了它在被调用时返回预设的用户数据,这样就可以在不实际访问数据库的情况下测试`DatabaseAccess`类。 **总结** JMockit 1.2作为一个...

      JMockit教程.pdf

      正如其名,在单元测试时,CUT(Code Under Test ,被测试代码)可能会依赖其他代码,可以使用JMockit API来mock被依赖的代码,从而进行隔离测试。 JMockit有两套API,mock API用来进行mock测试;mock-up API用来...

      C++ mock框架mockcpp

      在测试执行过程中,mock对象会记录这些方法调用,测试结束后,可以检查这些记录以验证预期的行为是否符合实际发生的。 例如,如果你正在测试一个类,该类依赖于一个数据库连接对象,但你并不想在测试中实际连接到...

      Java实例化一个抽象类对象的方法教程

      由于抽象类自身不能被实例化,这意味着你不能使用`new`关键字直接创建一个抽象类的对象。然而,尽管不能直接实例化,抽象类在特定情况下依然可以间接地创建对象。以下将详细介绍如何在Java中处理抽象类实例化的问题...

      使用PowerMock来Mock静态函数

      5. 验证结果:使用Mockito的验证方法(如`verifyStatic()`)来确认静态方法是否按照预期被调用。 标签“源码 工具”暗示了这篇内容可能会深入到PowerMock的底层实现,以及如何将其作为工具集成到开发流程中。...

      Mock

      3. **验证Mock行为**:确保Mock对象在测试过程中被正确调用,验证其方法的调用次数、参数和返回值。 4. **保持测试独立**:Mock应当使每个测试独立运行,不受其他测试的影响。 5. **避免Mock静态方法**:静态方法...

      mock学习资料

      Mock对象可以预设返回值,记录方法调用,以及验证方法是否按预期被调用。 2. **单元测试与Mock**:在单元测试中,我们关注的是单个模块或函数的行为,而不是整个系统。Mocking可以帮助我们隔离测试目标,避免外部...

      利用PowerMock模拟静态方法和私有方法的示例

      PowerMock允许我们使用`@PrepareForTest`注解指定需要模拟的类,并通过`PowerMockito.mockStatic`或`Mockito.when`来模拟私有方法。 下面是一段使用PowerMock模拟静态方法和私有方法的示例代码: ```java import ...

      Mock初学教程

      有时我们需要验证传递给某个方法的实际参数值,而不仅仅是验证该方法是否被调用。这时可以使用`ArgumentCaptor`。 **示例** ```java ArgumentCaptor&lt;User&gt; userCaptor = ArgumentCaptor.forClass(User.class); ...

      Go-Mockcounterfeiter-一个工具用于在Go中生成自容器类型安全的测试Mock对象

      最后,执行被测试的代码,并验证Mock对象的行为是否符合预期。 总的来说,Mock counterfeiter是Go语言测试领域的一个强大工具,它提高了测试代码的可读性和维护性,同时也简化了测试的复杂性。通过自动化Mock对象的...

      Jmockit用法示例

      尽管私有方法不能直接被调用,但Jmockit允许我们模拟它们。这通常在需要测试内部逻辑时很有用。使用`@Capturing`注解配合`Deencapsulation`类可以实现: ```java @Test public void testWithMockedPrivateMethod() ...

    Global site tag (gtag.js) - Google Analytics