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的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jest Mock Ajax

Mock API是如何在开发中发光发热的?

前端测试框架Jest系列教程 -- Mock Functions

如何在Java Unit Test中mock 静态方法

java如何mock

java如何mock