这是一个奇妙的问题。 1。

如果A类的契约包含它调用C类型对象的方法B的事实,那么你应该通过做一个C类型的模拟来测试这个,并且验证方法B被调用。

这意味着A类的契约有足够的细节,它谈论类型C(它可能是一个接口或类)。所以是的,我们谈论的规范水平,超越了只是“系统需求”,并有一些方法来描述实现。

这对于单元测试是正常的。当你进行单元测试时,你需要确保每个单元都在做正确的事情,这通常包括它与其他单元的交互。这里的“单位”可能意味着应用程序的类或更大的子集。

更新:

我觉得这不仅仅适用于验证,而且也适用于桩。一旦你存根一个协作者类的方法,你的单元测试在某种意义上已经成为依赖于实现。这是单位测试的本质是这样的。由于Mockito同样关心验证,因为你使用Mockito意味着你要跨越这种依赖。

根据我的经验,如果我改变一个类的实现,我经常不得不改变其单元测试的实现匹配。通常情况下,我不需要改变类的单元测试的库存;除非当然,改变的原因是存在一个我以前没有测试的条件。

所以这是单元测试。一个没有受到这种对协作者类使用方式的依赖的测试实际上是一个子系统测试或集成测试。当然,这些也经常用JUnit写,并且经常涉及使用嘲笑。在我看来,“JUnit”是一个可怕的名字,对于一个产品,让我们生产所有不同类型的测试。

java verify_java – 什么时候使用Mockito.verify()?相关推荐

  1. Mockito verify

    什么是Mockito verify 验证 在单元测试时,需要对被测试方法进行验证: 如果被测试的方法有返回值,可以先准备期望方法的返回值expectedResult,然后调用方法获取真正的返回值act ...

  2. Mockito Verify的使用

    简介 Mockito Verify方法用于检查是否发生了某些行为.我们可以在测试方法代码的末尾使用Mockito验证方法,以确保调用了指定的方法. 本文将会主要介绍一下用法和功能: Mockito v ...

  3. Mockito verify Junit5集成 Mockito

    Mockito 集成 Junit5 在学习Mockito 如何集成 Junit5 之前,先来学习下 Mockito 基础的verify功能. Maven依赖 本篇博客代码的Maven依赖如下,源码地址 ...

  4. java verify_JAVA结合testng断言verify(断言失败不中断继续执行)

    原理: 1.自已构造一个断言类,把Assert.assertEquals给try catch住. 2.利用testng的监听类在测试方法运行结束后进行分析. 代码: 断言类: package com. ...

  5. java集成测试_基于TestNG+Mockito及自动装配注解的Spring MVC集成测试

    本文主要总结自己近期在项目中对MVC集成测试的实践及理解,因为先前对这块未实践过.主要参考了官方文档<11.3.6 Spring MVC Test Framework>这一章节内容,涉及到 ...

  6. java mock void_如何使用Mockito模拟void方法 - How to mock void methods with Mockito

    问题: How to mock methods with void return type? 如何用void返回类型模拟方法? I implemented an observer pattern bu ...

  7. java mock verify_使用Mockito进行单元测试【1】——mock and verify[转]

    本文转自:http://qiuguo0205.iteye.com/blog/1443344 1. 为什么使用Mockito来进行单元测试? 回答这个问题需要回答两个方面,第一个是为什么使用mock?m ...

  8. Mock和Java单元测试中的Mock框架Mockito介绍

    什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象.程序员通常创造模拟对象(mock object)来测试其他对象 ...

  9. java mocked_java如何使用Mockito?

    这篇教程介绍了如何使用 Mockito 框架来给软件写测试用例 1. 预备知识 如果需要往下学习,你需要先理解 Junit 框架中的单元测试. 2. 使用mock对象来进行测试 2.1. 单元测试的目 ...

最新文章

  1. 《ELK Stack权威指南(第2版)》一3.8 Docker日志
  2. [译] ES6+ 中的 JavaScript 工厂函数(第八部分)
  3. java数组遍历赋值,最终入职阿里
  4. zookeeper初探二 windows环境搭建伪集群
  5. [剑指offer]面试题48:不能被继承的类
  6. PHP读取sphinx实例
  7. python的内存泄露_Python 程序的内存泄露,教你一招来解决?
  8. python写入txt,读取txt,拷贝txt文件
  9. java jnlp 签名_JAVA JNLP组件数字签名制作步骤
  10. 面向对象——类设计(六)——算法类
  11. python代码-20个Python代码段,你需要立刻学会,好用到哭!
  12. 群晖 root_群晖洗白简单教程
  13. 将 datetimepicker 嵌入 bindingNavigator
  14. 全球铁矿石行业供给分析与投资可行性分析报告2022年版
  15. linux安装RarLinux
  16. 智能车制作——速度环PID
  17. 向量空间相关概念总结-基
  18. 徐思201771010132《面向对象程序设计(java)》第十周学习总结
  19. shel ---条件、循环
  20. Scylla AntDB 安装

热门文章

  1. 测试项目启动与研读需求文档
  2. 关于win10装不上dnw驱动的问题
  3. 正式开赛|2023年“桂林银行杯”数据建模大赛暨全国大学生数学建模竞赛广西赛区热身赛
  4. mysql 过程if语句,mysql存储过程之if语句用法实例详解
  5. Java中Xml解析详解 DOM、SAX、JDOM、DOM4J
  6. Hypervisor介绍(二)
  7. 疫情后的ota酒店运营还好吗?
  8. 常用的行列式和矩阵的性质
  9. scratch3.0-穿越城市的巴士
  10. sql三个表关联查询LEFT JOIN