




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA中MockitoMock测试的实践与应用试题及答案姓名:____________________
一、单项选择题(每题2分,共10题)
1.以下关于Mockito的说法错误的是:
A.Mockito是一个开源的Java框架,用于模拟对象和测试代码
B.Mockito主要用于单元测试,可以提高代码的可测试性
C.Mockito需要通过依赖注入的方式将模拟对象注入到测试对象中
D.Mockito不支持模拟Java的内置类,如String、List等
2.在使用Mockito进行模拟时,以下哪个方法可以创建一个模拟对象?
A.Mockito.mock(Class)
B.Mockito.spy(Class)
C.Mockito.mock(Class,Class)
D.Mockito.spy(Object)
3.以下关于Mockito的哪个方法可以验证对象是否被调用过?
A.Mockito.verify(Object,times(int))
B.Mockito.when(Object).thenReturn(value)
C.Mockito.doReturn(value).when(Object)
D.Mockito.doThrow(Exception.class).when(Object)
4.在使用Mockito时,以下哪个方法可以设置模拟对象的方法返回值?
A.Mockito.when(Object).thenReturn(value)
B.Mockito.doReturn(value).when(Object)
C.Mockito.verify(Object,times(int))
D.Mockito.doThrow(Exception.class).when(Object)
5.以下关于Mockito的哪个方法可以设置模拟对象的方法抛出异常?
A.Mockito.when(Object).thenThrow(Exception.class)
B.Mockito.doThrow(Exception.class).when(Object)
C.Mockito.verify(Object,times(int))
D.Mockito.doReturn(value).when(Object)
6.在使用Mockito进行模拟时,以下哪个方法可以验证模拟对象的方法调用次数?
A.Mockito.verify(Object,times(int))
B.Mockito.when(Object).thenReturn(value)
C.Mockito.doReturn(value).when(Object)
D.Mockito.doThrow(Exception.class).when(Object)
7.以下关于Mockito的哪个方法可以设置模拟对象的方法执行特定操作?
A.Mockito.doCallRealMethod().when(Object)
B.Mockito.when(Object).thenThrow(Exception.class)
C.Mockito.doReturn(value).when(Object)
D.Mockito.verify(Object,times(int))
8.在使用Mockito进行模拟时,以下哪个方法可以设置模拟对象的方法执行返回值和抛出异常?
A.Mockito.doReturn(value).when(Object).thenThrow(Exception.class)
B.Mockito.when(Object).thenThrow(Exception.class).thenReturn(value)
C.Mockito.doThrow(Exception.class).when(Object)
D.Mockito.verify(Object,times(int))
9.以下关于Mockito的哪个方法可以设置模拟对象的方法执行返回值和调用其他模拟方法?
A.Mockito.when(Object).thenReturn(value).thenCallRealMethod()
B.Mockito.doReturn(value).when(Object)
C.Mockito.doThrow(Exception.class).when(Object)
D.Mockito.verify(Object,times(int))
10.在使用Mockito进行模拟时,以下哪个方法可以设置模拟对象的方法执行返回值、抛出异常和调用其他模拟方法?
A.Mockito.when(Object).thenThrow(Exception.class).thenCallRealMethod().thenReturn(value)
B.Mockito.doReturn(value).when(Object).thenThrow(Exception.class)
C.Mockito.doThrow(Exception.class).when(Object)
D.Mockito.verify(Object,times(int))
二、多项选择题(每题3分,共10题)
1.Mockito的优点包括:
A.提高代码的可测试性
B.隔离测试逻辑
C.提高代码的复用性
D.优化开发效率
E.降低代码的复杂性
2.Mockito支持的模拟对象类型包括:
A.Java的内置类
B.自定义类
C.接口
D.枚举
E.数组
3.Mockito的常见使用场景有:
A.单元测试
B.集成测试
C.功能测试
D.性能测试
E.安全测试
4.Mockito提供的验证方法有:
A.Mockito.verify(Object,times(int))
B.Mockito.verify(Object,atLeastOnce())
C.Mockito.verify(Object,atLeast(int))
D.Mockito.verify(Object,atMost(int))
E.Mockito.verify(Object,never())
5.Mockito提供的设置返回值的方法有:
A.Mockito.when(Object).thenReturn(value)
B.Mockito.doReturn(value).when(Object)
C.Mockito.when(Object).thenThrow(Exception.class)
D.Mockito.doThrow(Exception.class).when(Object)
E.Mockito.when(Object).thenCallRealMethod()
6.Mockito提供的设置异常抛出的方法有:
A.Mockito.when(Object).thenThrow(Exception.class)
B.Mockito.doThrow(Exception.class).when(Object)
C.Mockito.when(Object).thenReturn(value)
D.Mockito.doReturn(value).when(Object)
E.Mockito.when(Object).thenCallRealMethod()
7.Mockito提供的验证调用顺序的方法有:
A.Mockito.verifyInOrder(Object)
B.Mockito.verifyOrder(Object)
C.Mockito.verifySequence(Object)
D.Mockito.verifySequentially(Object)
E.Mockito.verifyInSequence(Object)
8.Mockito提供的设置调用次数的方法有:
A.Mockito.verify(Object,times(int))
B.Mockito.verify(Object,atLeastOnce())
C.Mockito.verify(Object,atLeast(int))
D.Mockito.verify(Object,atMost(int))
E.Mockito.verify(Object,never())
9.Mockito提供的设置方法执行结果的方法有:
A.Mockito.when(Object).thenReturn(value)
B.Mockito.doReturn(value).when(Object)
C.Mockito.when(Object).thenThrow(Exception.class)
D.Mockito.doThrow(Exception.class).when(Object)
E.Mockito.when(Object).thenCallRealMethod()
10.Mockito提供的设置方法执行操作的方法有:
A.Mockito.doCallRealMethod().when(Object)
B.Mockito.when(Object).thenCallRealMethod()
C.Mockito.doReturn(value).when(Object)
D.Mockito.doThrow(Exception.class).when(Object)
E.Mockito.when(Object).thenReturn(value)
三、判断题(每题2分,共10题)
1.Mockito只能在JUnit测试环境中使用。(×)
2.Mockito可以模拟Java的任何类型的对象,包括内部类和匿名类。(√)
3.Mockito的spy方法不会修改对象的行为,只会模拟对象的方法调用。(√)
4.Mockito的when方法可以用来模拟对象的方法调用,并设置返回值。(√)
5.Mockito的verify方法可以用来验证对象的方法是否被调用。(√)
6.Mockito的doReturn方法可以用来设置模拟对象的方法返回值。(√)
7.Mockito的doThrow方法可以用来设置模拟对象的方法抛出异常。(√)
8.Mockito的verify方法可以用来验证对象的方法调用次数大于等于指定次数。(√)
9.Mockito的verify方法可以用来验证对象的方法调用次数小于等于指定次数。(√)
10.Mockito的verify方法可以用来验证对象的方法从未被调用过。(√)
四、简答题(每题5分,共6题)
1.简述Mockito在Java单元测试中的作用。
2.如何使用Mockito模拟一个接口?
3.如何使用Mockito验证一个模拟对象的方法是否被调用?
4.如何使用Mockito设置一个模拟对象的方法返回特定值?
5.如何使用Mockito设置一个模拟对象的方法抛出异常?
6.如何使用Mockito验证一个模拟对象的方法调用次数?
试卷答案如下
一、单项选择题答案及解析:
1.D.Mockito不支持模拟Java的内置类,如String、List等
解析:Mockito可以模拟任何类型的对象,包括内置类。
2.A.Mockito.mock(Class)
解析:Mockito.mock(Class)用于创建一个模拟对象。
3.A.Mockito.verify(Object,times(int))
解析:Mockito.verify(Object,times(int))用于验证对象的方法是否被调用指定次数。
4.A.Mockito.when(Object).thenReturn(value)
解析:Mockito.when(Object).thenReturn(value)用于设置模拟对象的方法返回值。
5.A.Mockito.when(Object).thenThrow(Exception.class)
解析:Mockito.when(Object).thenThrow(Exception.class)用于设置模拟对象的方法抛出异常。
6.A.Mockito.verify(Object,times(int))
解析:Mockito.verify(Object,times(int))用于验证对象的方法调用次数。
7.A.Mockito.doCallRealMethod().when(Object)
解析:Mockito.doCallRealMethod().when(Object)用于设置模拟对象的方法执行实际的方法。
8.A.Mockito.when(Object).thenThrow(Exception.class).thenCallRealMethod().thenReturn(value)
解析:Mockito.when(Object).thenThrow(Exception.class).thenCallRealMethod().thenReturn(value)用于设置模拟对象的方法先抛出异常,然后执行实际的方法,最后返回特定值。
9.A.Mockito.when(Object).thenReturn(value).thenCallRealMethod()
解析:Mockito.when(Object).thenReturn(value).thenCallRealMethod()用于设置模拟对象的方法返回特定值,然后执行实际的方法。
10.A.Mockito.when(Object).thenThrow(Exception.class).thenCallRealMethod().thenReturn(value)
解析:Mockito.when(Object).thenThrow(Exception.class).thenCallRealMethod().thenReturn(value)用于设置模拟对象的方法先抛出异常,然后执行实际的方法,最后返回特定值。
二、多项选择题答案及解析:
1.A,B,C,D,E
解析:Mockito的优点包括提高代码的可测试性、隔离测试逻辑、提高代码的复用性、优化开发效率和降低代码的复杂性。
2.A,B,C,D,E
解析:Mockito支持的模拟对象类型包括Java的内置类、自定义类、接口、枚举和数组。
3.A,B
解析:Mockito主要用于单元测试和集成测试。
4.A,B,C,D,E
解析:Mockito提供的验证方法包括verify(Object,times(int))、verify(Object,atLeastOnce())、verify(Object,atLeast(int))、verify(Object,atMost(int))和verify(Object,never())。
5.A,B
解析:Mockito提供的设置返回值的方法包括when(Object).thenReturn(value)和doReturn(value).when(Object)。
6.A,B
解析:Mockito提供的设置异常抛出的方法包括when(Object).thenThrow(Exception.class)和doThrow(Exception.class).when(Object)。
7.A,B,C,D,E
解析:Mockito提供的验证调用顺序的方法包括verifyInOrder(Object)、verifyOrder(Object)、verifySequence(Object)、verifySequentially(Object)和verifyInSequence(Object)。
8.A,B,C,D,E
解析:Mockito提供的设置调用次数的方法包括verify(Object,times(int))、verify(Object,atLeastOnce())、verify(Object,atLeast(int))、verify(Object,atMost(int))和verify(Object,never())。
9.A,B,C,D,E
解析:Mockito提供的设置方法执行结果的方法包括when(Object).thenReturn(value)、doReturn(value).when(Object)、when(Object).thenThrow(Exception.class)、doThrow(Exception.class).when(Object)和when(Object).thenCallRealMethod()。
10.A,B,C,D,E
解析:Mockito提供的设置方法执行操作的方法包括doCallRealMethod().when(Object)、when(Object).thenCallRealMethod()、doReturn(value).when(Object)、doThrow(Exception.class).when(Object)和when(Object).thenReturn(value)。
三、判断题答案及解析:
1.×
解析:Mockito可以在JUnit、TestNG等测试框架中使用。
2.√
解析:Mockito可以模拟任何类型的对象,包括内部类和匿名类。
3.√
解析:Mockito的spy方法不会修改对象的行为,只会模拟对象的方法调用。
4.√
解析:Mockito的when方法可以用来模拟对象的方法调用,并设置返回值。
5.√
解析:Mockito的verify方法可以用来验证对象的方法是否被调用。
6.√
解析:Mockito的doReturn方法可以用来设置模拟对象的方法返回值。
7.√
解析:Mockito的doThrow方法可以用来设置模拟对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务风险预警与应急预案制定合同
- 城市绿地承包经营管理长期合同
- 小屁孩日记读后感(15篇)
- 信息系统监理师考生心得体会试题及答案
- 教师2025本年度思想工作总结(12篇)
- 生产部合同工人工资计算方案(完整版)
- 试题及答案互联网营销策略应用案例分析
- 农村智能农业遥感技术应用合同书
- 酒店行业客户关系管理测试题
- 破解2025年软件测试考试技巧试题及答案
- 风电财务经济评价讲义资料课件
- 中石油职称英语通用教材
- 2022年广西高考物理试卷(甲卷)解析版
- 《如何与负面情绪共处》(课件)-小学生心理健康通用版
- 冠寓运营管理手册正式版
- 热力管网施工组织设计方案标书
- 苏教版三下第十单元期末复习教材分析
- 机械通气基础知识及基础操作课件
- 打印版医师执业注册健康体检表(新版)
- 1.3.1动量守恒定律课件(共13张PPT)
- DB36_T 420-2019 江西省工业企业主要产品用水定额(高清无水印-可复制)
评论
0/150
提交评论