- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
junit+mockito基本⽤法
准备⼯作
我们采⽤的测试⼯具是JUnit+Mockito。如果使⽤SpringBoot的话,就不需要准备任何的环境和
依赖的包。因为SpringBoot集成了Mockito,在创建项⽬时SpringBoot也会⾃动引⼊starter-test
模块。
1dependeny
2groupIdorg.springframework.boot/groupId
3artifatIdspring-boot-starter-test/artifatId
4/dependeny
Junit
常⽤注解
@BeforeClass‒表⽰在类中的任意publicstaticvoid⽅法执⾏之前执⾏
@AfterClass‒表⽰在类中的任意publicstaticvoid⽅法执⾏之后执⾏
@Before‒表⽰在任意使⽤@Test注解标注的publicvoid⽅法执⾏之前执⾏
@After‒表⽰在任意使⽤@Test注解标注的publicvoid⽅法执⾏之后执⾏
@Test‒使⽤该注解标注的publicvoid⽅法会表⽰为⼀个测试⽅法
@Transactional事务回滚注解
assert断⾔⽅法
assertNull(java.lang.Objectobject)检查对象是否为空
assertNotNull(java.lang.Objectobject)检查对象是否不为空
assertEquals(longexpected,longactual)检查long类型的值是否相等
assertEquals(doubleexpected,doubleactual,doubledelta)检查指定精度的double值是否相等
assertFalse(booleancondition)检查条件是否为假
assertTrue(booleancondition)检查条件是否为真
assertSame(java.lang.Objectexpected,java.lang.Objectactual)检查两个对象引⽤是否引⽤同
⼀对象(即对象是否相等)
assertNotSame(java.lang.Objectunexpected,java.lang.Objectactual)检查两个对象引⽤是否
不引⽤统⼀对象(即对象不等)
版本问题
当前我司springboot项⽬版本⽀持junit5,推荐使⽤junit5.
@RunWith注解
1/**
2*以mokito环境启动
3*/
4@RunWith(MokitoJUnitRunner.lass)
5
6/**
7*启动springboot环境进⾏单元测试,此⽅式会调⽤真实依赖对象
8*
9*单元测试开发中,应减少此测试⽅式
10*理由:SpringBootTest会启动springboot应⽤程序
11*1.占⽤系统端⼝
12*2.加载⾮单元测试相关bean,效率低
13*/
14@SpringBootTest
15@RunWith(SpringRunner.lass)
Mockito
单元测试的思路是:想在不涉及依赖关系的情况下,测试代码的有效性,⽽我们就是通过Mockito
来隔离这种依赖关系。Mockito是⼀个针对Java的Mock框架。它能以⼀种可控的⽅式去获取⼀个
假对象,通过假对象来模拟真实的对象⾏为。
常⽤注解
1.@Mock-注解可以理解为对mock⽅法的⼀个替代。使⽤该注解时,使⽤
@RunWith(MockitoJUnitRunner.class)注解使该注解⽣效。
2.@InjectMock-创建⼀个实例,简单的说是这个Mock可以调⽤真实代码的⽅法,其余⽤@Mock注解
创建的mock将被注⼊到⽤该实例中。
3.@MockBean当使⽤springRunner时,使⽤@MockBeanmock对象,此注解会将Mock对象添加到
Sprin
您可能关注的文档
- 单元测试技术方案.pdf
- 高并发编程技术点.pdf
- sentinel方案(带控制台dashboard).pdf
- 动态感知Nacos服务地址和ribbon远程调用优雅上下线.pdf
- 利用logId追踪请求链路日志 V1.0.pdf
- DDD领域驱动设计.pdf
- 设计模式手册.pdf
- Apifox新手快速上手.pdf
- GitLab服务如何高效集成Hooks.pdf
- 群发短信去重方案.pdf
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
精通系统架构设计,能够设计可扩展、高效、安全的系统。 面对复杂问题时,能够运用创造性思维找到解决方案。 带领团队落地多个大型项目。
文档评论(0)