促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
Module 3. Java Professional
级别 4
使用 Mockito 进行高级测试
模块 3
第 4 级,
课程 0
1.1 Mockito 库 今天我们将熟悉高级测试。更具体地说,使用Mockito库。甚至不要考虑离开这个行业。 首先,这个库是Spring测试中的一个标准。这实际上是 Java 后端开发行业的标准。 其次,您必须为 Spring 代码编写测试。了解您编写的后端是否正常工作的唯一方法是调用其 API 的方法。进行测试比不进行测试要容易 10 倍。你会亲眼看到的。 pom.xml您可以使用以下代码将 Mockito 库添加到您的库中:
基本 Mockito 注释
模块 3
第 4 级,
课程 1
2.1 @Mock注解 在 Mockito 中有两种处理模拟对象的方法。第一种是创建一个完全虚拟的对象,第二种是将现有对象包装在包装器中。让我们从第一个开始。 要创建一个完全虚拟的对象,您需要编写代码: ИмяКласса имяПеременной = Mockito.mock(ИмяКласса.class); 让我们创建一个模拟 ArrayList 类作为示例: @ExtendWith(MockitoExtension.class)
模拟对象
模块 3
第 4 级,
课程 2
3.1 doReturn()方法 现在魔法来了…… 假设您创建了一个伪造的模拟对象,但您需要它以某种方式工作。当调用某些方法时,完成了一些重要的事情,或者这些方法返回了某个结果。该怎么办? Mockito 库允许您将所需的行为添加到模拟对象。 如果你想让模拟对象在调用某个方法时返回某个结果,那么可以使用代码将这个“规则”添加到对象中: Mockito.doReturn(результат).when(объект).имяМетода(); 你看,在方法调用结束时,имяМе
调用带有参数的模拟方法
模块 3
第 4 级,
课程 3
4.1 方法参数 添加到模拟对象的先前规则处理没有参数的方法。以及如何为带参数的方法创建规则?此外,我想创建规则,以便对于某些参数值有一个结果,而对于其他参数值则有另一个结果。 你也可以这样做。如果您希望该方法返回带有特定参数的特定内容,则可以这样编写规则: Mockito.doReturn(результат).when(объект).имяМетода(параметр); 让我们看一个例子来更好地理解。让我们的 List 在请求第 10 个元素时返回名字 Ivan,在
揭示对象的特定行为
模块 3
第 4 级,
课程 4
5.1 verify() 方法 除了创建虚拟对象之外,还经常出现另一个有趣的任务——确保被测类调用正确对象的正确方法。此外,他调用了所需的次数,使用正确的参数等。 为此,Mockito 也有一些神奇之处——方法家族Mockito.verify(…)。指定方法调用检查的一般规则是: Mockito.verify(объект).имяМетода(параметр); 例子: @ExtendWith(MockitoExtension.class)
使用 Mockito 的流行场景
模块 3
第 4 级,
课程 5
6.1 模拟静态方法 mockStatic() 还有一个更重要的一点是静态方法的模拟和验证。“那有什么问题吗?”你问。是的,静态的,但是方法是一样的。你会错的。 还记得我们是从哪里开始学习模拟对象的吗?由于这些对象是通过DynamicProxy. 并且静态方法不绑定任何对象,DynamicProxy不可能通过.拦截对它们的调用。就这样。 但是 Mockito 的创建者也能够在这里躲避 - 他们编写了自己的类加载器,并且在它的帮助下他们能够动态替换类。一项艰巨的工作,但他们仍然
Please enable JavaScript to continue using this application.