Mockito
Andy2019
这个作者很懒,什么都没留下…
展开
-
(译) 01-Mockito 首页
Mockito 教程Mockito 是一个模拟框架, 基于 java 的库, 用于对 java 应用程序进行有效的单元测试。Mockito 用于模拟接口, 以便可以将虚拟功能添加到可用于单元测试的模拟接口中。本教程应帮助您了解如何使用 Mockito 创建单元测试以及如何以简单而直观的方式应用其 api。读者对象本教程的目的是为 Java 开发人员, 从新手到专家级, 希望通过单元测试和测试驱动开...翻译 2018-03-13 21:06:58 · 517 阅读 · 0 评论 -
(译)17-Mockito-超时
Mockito 提供了一个特殊的超时选项, 用于测试在规定的时间范围内是否调用方法。语法//passes when add() is called within 100 ms.verify(calcService,timeout(100)).add(20.0,10.0);例如步骤1−创建一个称为 CalculatorService 的接口, 以提供数学函数文件: CalculatorServi...翻译 2018-03-14 12:45:33 · 815 阅读 · 0 评论 -
(译) 16-Mockito-行为驱动的开发
行为驱动开发是一种编写测试的样式, 它使用given、when 和then 格式化测试方法。Mockito 提供了特殊的方法。查看下面的代码段。//Givengiven(calcService.add(20.0,10.0)).willReturn(30.0);//whendouble result = calcService.add(20.0,10.0);//thenAssert.a...翻译 2018-03-14 12:41:24 · 386 阅读 · 0 评论 -
(译) 15-Mockito 重置模拟
Mockito 提供了重置模拟的功能, 以便以后可以重用它。查看下面的代码段。//reset mockreset(calcService);在这里, 我们重新设置模拟对象。MathApplication 利用 calcService 和复位后的模拟, 使用mock的方法将失败的测试。例如步骤1−创建一个称为 CalculatorService 的接口, 以提供数学函数文件: Calculato...翻译 2018-03-14 11:50:17 · 2408 阅读 · 0 评论 -
(译) 14-Mockito-间谍活动
Mockito 提供了在真实对象上创建spy选项。当调用spy时, 就调用真实对象的实际方法。语法//create a spy on actual objectcalcService = spy(calculator);//perform operation on real object//test the add functionalityAssert.assertEquals(mat...翻译 2018-03-14 11:41:32 · 331 阅读 · 0 评论 -
(译) 13-Mockito-回调
Mockito 提供了一个应答接口, 允许 stubbing 具有泛型接口。语法//add the behavior to add numberswhen(calcService.add(20.0,10.0)).thenAnswer(new Answer<Double>() { @Override public Double answer(InvocationOnMock...翻译 2018-03-14 08:51:27 · 1108 阅读 · 0 评论 -
(译) 12-Mockito 顺序验证
Mockito 提供了一个Inorder 类, 它负责处理在适当的时间内模拟将要做出的方法调用的顺序。语法//create an inOrder verifier for a single mockInOrder inOrder = inOrder(calcService);//following will make sure that add is first called then su...翻译 2018-03-14 08:47:27 · 1731 阅读 · 0 评论 -
(译) 11-Mockito-创建Mock
到目前为止, 我们使用注解来创建Mocks。Mockito 提供了各种创建模拟对象的方法。mock () 创建mocks, 而不必担心在适当的过程中模拟将要做出的方法调用的顺序。语法calcService = mock(CalculatorService.class);例如步骤1−创建一个称为 CalculatorService 的接口, 以提供数学函数文件: CalculatorService...翻译 2018-03-14 08:44:33 · 634 阅读 · 0 评论 -
(译) 10-Mockito-异常处理
Mockito 提供了一个模拟抛出异常的功能, 因此可以测试异常处理。查看下面的代码段。//add the behavior to throw exceptiondoThrow(new Runtime Exception("divide operation not implemented")) .when(calcService).add(10.0,20.0);在这里, 我们向模拟对象添...翻译 2018-03-14 08:41:35 · 13554 阅读 · 0 评论 -
(译) 09-Mockito 变化的调用次数
Mockito 提供了以下附加方法来更改预期的调用计数。atLeast (int min) −期望最小调用。atLeastOnce () −希望至少有一个调用。atMost (int max) −期望最大调用。例如步骤1−创建接口 CalculatorService 提供数学函数文件: CalculatorService. java/** * 计算相关服务 */public interfac...翻译 2018-03-14 08:39:35 · 1941 阅读 · 0 评论 -
(译) 08-Mockito-预期的调用次数
Mockito 对可对特定方法进行的调用数检查。假设 MathApplication 只调用 CalculatorService. serviceUsed () 方法一次, 则它不应该能够调用 CalculatorService. serviceUsed () 多余一次。//add the behavior of calc service to add two numberswhen(calcS...翻译 2018-03-14 08:36:49 · 2758 阅读 · 0 评论 -
(译) 07-Mockito-验证行为
Mockito 可以确保是否使用 reequired 参数调用模拟方法。它是使用verify ()方法完成的。查看下面的代码段。//test the add functionalityAssert.assertEquals(mathApplication.add(10.0, 20.0),30.0,0);//verify call to calcService is made or not w...翻译 2018-03-13 21:51:58 · 596 阅读 · 0 评论 -
(译) 06-Mockito 添加行为
Mockito 使用when()的方法向模拟对象添加功能。查看下面的代码段。//add the behavior of calc service to add two numberswhen(calcService.add(10.0,20.0)).thenReturn(30.00);在这里, 我们已经指示 Mockito 给add方法calcService添加10和20的行为, 结果是返回30...翻译 2018-03-13 21:47:01 · 366 阅读 · 0 评论 -
(译) 05-Mockito-JUnit 集成
在本章中, 我们将学习如何将 JUnit 和 Mockito 集成在一起。在这里, 我们将创建一个数学应用程序, 使用 CalculatorService 执行基本的数学运算, 如加法, 减法, 乘法和除法。我们将使用 Mockito 来模拟 CalculatorService 的虚拟实现。此外, 我们还广泛使用了注解来展示它们与 JUnit 和 Mockito 的兼容性。下面将以循序渐进的方式讨...翻译 2018-03-13 21:40:00 · 551 阅读 · 0 评论 -
(译) 04-Mockito-第一个应用程序
在深入了解 Mockito 框架的详细信息之前, 让我们来看看一个案例。在这个例子中, 我们创建了一个模拟的股票服务, 以获得一些股票的虚拟价格和单元测试的 java 类Portfolio。下面将以循序渐进的方式讨论此过程。步骤1−创建一个 JAVA 类来表示股票文件: Stock.java/** * 股票信息类 */public class Stock { //股票ID p...翻译 2018-03-13 21:29:34 · 421 阅读 · 1 评论 -
(译) 03-Mockito-环境设置
Mockito 是 Java 的一个框架, 所以第一个要求是将 JDK 安装在您的计算机中。系统要求jdk1.5 或以上。内存无最低要求。磁盘空间无最低要求。操作系统无最低要求。步骤1−验证计算机上的 Java 安装打开控制台并执行下面的java命令。操作系统任务命令windows打开命令控制台c:\> java -versionlinux打开命令终端$ java -versionmac打开...翻译 2018-03-13 21:25:42 · 872 阅读 · 0 评论 -
(译) 02-Mockito-概览
Mockito-概述Mockito是什么?Mockito是一种隔离功能类的测试方法。Mockito不需要数据库连接或属性文件读取或文件服务器读取来测试功能。模拟对象做真实服务,模拟对象返回与传递给它的一些虚拟输入对应的虚拟数据。MockitoMockito 方便、无缝地创建模拟对象。它使用 Java 反射为给定的接口创建模拟对象。模拟对象只不过是实际实现的代理。假定一个股票服务的案例, 它返回股票...翻译 2018-03-13 21:16:36 · 418 阅读 · 0 评论 -
Mockito 教程
说在前面的话 现在软件公司里面(我待过的4个公司)大家对编写测试用例都很厌倦,认为这是没有必要的,出现bug很正常。我认为如果这样下去这个项目就不会好,因为我们都接触过一些别人移交给我们的代码,甚至是自己原来写过的代码,时间久了根本没有办法去重构,因为我们都很清楚项目已经上线,如果现在改动代码很容易照成一堆bug的出现,那么就完蛋了,所以后期就会出现打补丁方式的修复bug。但是如果...原创 2018-03-15 12:54:20 · 884 阅读 · 0 评论