java如何mock
Posted amcomputer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何mock相关的知识,希望对你有一定的参考价值。
一 基本知识
依赖
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.0.5-beta</version>
</dependency>
Mockito 的 @InjectMocks 注解作用是将 @Mock 所修饰的 mock 对象注入到指定类中替换原有的对象。
@MockBean
@MockBean 是 Spring Boot 中的注解。我们可以使用 @MockBean 将 mock 对象添加到 Spring 应用程序上下文中。该 mock 对象将替换应用程序上下文中任何现有的相同类型的 bean。如果应用程序上下文中没有相同类型的 bean,它将使用 mock 的对象作为 bean 添加到上下文中。
二 基本实例
2.1 注解用法
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
public class myTest extends DataLocationBaseTest
@Mock
ARepository a;
@InjectMocks
BSpiImpl spi;
@Test
public void queryByInnerId()
MyModel userModel = MyModel();
// 构建mock对象
Mockito.when(a.query(Mockito.any())).thenReturn(userModel);
/// 里面
MyResult result = spi.queryByInnerId(request);
spi.queryByInnerId()具体的方法实现:
queryByInnerId(Request request)
ARepository a;
//查询,正常会真正的查。但现在被mock, 故返回一开始用户构建的那个mock对象,返回userModel
MyModel model = a.query();
2.2 基本用法
https://blog.csdn.net/Anlegor/article/details/44452011
以上是关于java如何mock的主要内容,如果未能解决你的问题,请参考以下文章