




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料专业试题及答案
- 锅炉专业试题及答案
- 汽修专业大专试题及答案
- 编辑类专业试题及答案
- 广东省2025-2026学年高三上学期9月月考历史试题(含答案)
- 编导专业笔试题及答案
- 广东省江门市广雅中学2024-2025学年七年级上学期10月份英语月考卷(含答案无听力原文及音频)
- 化妆品行业品牌发展战略
- 全国重点城市领导讲话稿模板
- 短视频行业内容创作与营销策略
- 2025届高考语文一轮复习:文言文主观题答题策略+课件
- 报名学车合同(2篇)
- 新高考背景下2025届高三历史一轮复习策略讲座
- 养老机构员工宿舍管理制度
- 小型农田水利工程验收管理手册
- 语文园地一词句段运用 根据词语写画面-2024-2025学年语文四年级上册(统编版)
- 1.6《算盘》(同步练习)-2024-2025学年四年级上册数学人教版
- 《会计基本技能》教案设计
- 教科版四年级上册科学全册教案
- 医疗质量医疗安全十八项核心制度培训模板
- 液压管路制作课件讲解
评论
0/150
提交评论