首页 > 编程知识 正文

mockito自动生成单元测试,mock测试教程

时间:2023-05-04 21:03:51 阅读:31063 作者:64

什么是标记?

Mock是虚拟对象,创建它是为了模拟实际对象。 这些虚拟对象的行为是可控的。 很容易理解,Mock可以被认为是“汽车碰撞实验”的“假人”。

实际的软件体系结构

软件体系结构测试

为什么需要Mock?

实际软件架构中的对象行为不确定(eg:小时,对象状态) )。

实际对象的某些状态还很难构建(eg:网络抖动) )。

实际对象在执行某些操作时会花费时间,影响测试进度(eg:部分数据库初始化)。

测试驱动开发(TDD )要求在编写测试代码之后进行开发。 这样,通常还没有开发实际对象,或者实际对象只能通过硬件进行模拟

在实际测试中,需要关注如何调用实际对象以及实际对象的内部状态如何

上述问题都可以通过引入Mock来解决。

什么是Mockito?

Mockito是用于Java单元测试的Mock框架。

你为什么选择了Mockito?

Mockito是堆栈溢出社区投票的最佳Java Mock框架

Github的Top4上的Library

3 .使用简洁优雅的API可以写一个漂亮的单元测试用例。 这些单元测试语法符合自然语言,容易阅读

Android Studio如何设置Mockito的使用?

android studio的默认构建工具是gradle,它只需在相应的build.grade中添加Mockito依赖关系即可。

存储库{ j center (}

dependencies { test compile ' org.mock ITO : mock ITO-core :1.' }

Mockito能起到什么样的功能?

检查Mock对象的函数执行和执行的次数

具有Mock对象的函数具有返回值,可以设置返回值。 void的函数可以是抛出异常,也就是所谓的装载追溯

验证Mock对象函数的执行顺序

参数匹配。 有很多内置参数,也可以自己实现。 这在验证函数交互和设置返回值时提供了更大的灵活性

可以捕获参数,并将其用于后续验证和设置

Mockito的常见API和使用方法

创建Mock对象-创建Mock对象有两种方法:使用Mock函数- publicstatictmock (classclasstomock )

使用@Mock注释-但是,必须使用@Test函数初始化,或使用内置的Junit Runner

检查是否执行了Mock对象函数-publicstatictverify(tmock,验证模式),其中mode为times(x )、atLeastOnce 验证(mock,atLeastOnce ().some method (any string ) );

在具有模拟对象返回值的函数中安装桩(-when(methodcall ).thenReturn ) )或-when(methodcall ).thenThrow ) )

在返回虚拟对象void的函数上加桩-dothrow(newruntimeexception () ).when(mockobject ).methodCall );

参数匹配-默认情况下,-Mockito使用java的equals判断函数参数值,但为了更灵活,参数匹配功能when (mocked object.method call (anyint ) ).then ren

when (已锁定对象. contains (arg that ) isvalid () ).thenreturn ) ) element ); //isValid ()是自定义的参数匹配

验证伪对象函数执行顺序的persondal.add(any ) );

personDAL.getAll (;

在订单上=在订单上(人员达);

inorder.verify(Persondal ).add (any );

norder.verify(persondal ).getAll );

捕获伪对象函数参数,并进一步验证捕获的参数argumentcaptorargument=argument captor.for class (person.class )。

验证(mock ).dosomething(argument.capture );

assertequals('John ',argument.getValue ) ).getName );

关于Mockito,我们将继续根据实际项目整理实践知识。

(0)或份额)0)我喜欢

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。