`

Mock测试

    博客分类:
  • Mock
 
阅读更多

1.所需jar包

 mockito-all-1.8.5.jar和junit-4.8.1.jar

 

2.Test.java如下

import static org.mockito.BDDMockito.*;

import javax.persistence.EntityTransaction;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import xx.domain.User;
import xx.domain.UserService;

public class Test {

    private static final long EXPECTED_ID = 12345;
    @Mock
    private UserService userService;

    @Mock
    private EntityTransaction mockTransaction;

    private User user;

    private User result;

    @Before
    public void init() {
        MockitoAnnotations.initMocks(this);
        user = new User();
        user.setId(EXPECTED_ID);
        testInstance = new UserServiceImpl(mockService);
    }

    @Test
    public void testSearchById() {
        givenUserToSearch();
        whenSearch();
        thenVerifyResult();
    }

    private void whenSearch() {
        result = testInstance.searchById(12345);
    }

    @Test
    public void testSaveUser() {
        givenClaimApplicationToSave();
        whenSave();
        thenVerifyResult();
    }

    private void givenUserToSearch() {
        given(mockService.find(EXPECTED_ID)).willReturn(user);
    }

    private void thenVerifyResult() {
        Assert.assertEquals(EXPECTED_ID, result.getId());
    }

    private void whenSave() {
        result = testInstance.saveUser(user);
    }

    private void givenUserToSave() {
        given(mockService.startNewTransaction()).willReturn(mockTransaction);
        given(mockService.saveUser(user)).willReturn(user);
    }
}

 

分享到:
评论

相关推荐

    mock 测试.pptx

    Mock 测试技术详解与 Fiddler AutoResponder 面板介绍 Mock 测试是一种软件测试方法,旨在模拟一些难以构造或获取的对象,以便进行测试。在测试过程中,Mock 对象可以帮助开发者更好地测试单元测试、集成测试和系统...

    基于python的mock测试数据练习

    本练习主要关注如何使用 `unittest.mock` 进行mock测试数据。 一、Mock对象的基本概念 Mock对象是模拟真实对象的一种工具,它可以在测试中替代真实的对象,以避免测试过程中对实际数据或外部服务的依赖。Mock对象...

    服务端Mock测试基础原理讲解

    服务端Mock测试是一种在软件开发中广泛应用的技术,它允许测试工程师在没有依赖服务端的真实环境或者服务尚未完成时进行测试工作。Mock技术通过模拟真实的服务端行为,使得测试人员能够在本地模拟各种网络交互,从而...

    iview.test测试demo包含拖拽排序 mock测试 iview模板

    Mock测试则是一种在真实后端服务未完成或不可用时,模拟后端数据来测试前端应用的方法。 本项目"iview.test测试demo"显然是一个基于Vue.js和Iview的实践示例,其中包含了拖拽排序的功能。拖拽排序是一种用户交互...

    支持http接口自由mock,可根据需要进行接口mock测试。

    对于“支持http接口自由mock,可根据需要进行接口mock测试”这一主题,我们可以深入探讨一下HTTP接口Mocking的概念、重要性以及如何使用工具如Moco进行实践。 HTTP接口Mocking是软件开发过程中的一个重要环节,特别...

    Squaretest半自动生成Mock测试

    "Squaretest半自动生成Mock测试"是一个针对这个需求的工具,它旨在简化单元测试的创建过程,特别是对于那些需要模拟(Mock)外部依赖的场景。 单元测试通常包括三个主要部分:测试前的设置(SetUp),实际的测试...

    我们用到的3种Mock测试方案​.docx

    【Mock测试方案详解】 在软件测试中,Mock测试是一种常用的技术,它允许我们在不依赖真实外部服务的情况下,模拟特定的依赖行为,以便更好地控制测试环境并确保测试的隔离性。以下是我们采用的三种Mock测试方案: ...

    基于Spring Boot和Dubbo的Dubbo Mock测试框架.zip

    # 基于Spring Boot和Dubbo的Dubbo Mock测试框架 ## 项目概述 Dubbo Mock测试框架是一个用于模拟和测试Dubbo服务的工具,支持多种测试模式和依赖管理。通过此框架,开发者可以方便地进行Dubbo接口的调试和测试,...

    mock测试简介及演示(源码+ppt)

    Mock测试是一种测试思想,那就是通过模拟的手段提高模块的可测试性。测试性不强的模块是软件工程质量的大敌。 本资源位mock测试的简介及简单示例,使用android mock objects实现了模拟android MediaStore的功能。

    详解Spring MVC如何测试Controller(使用springmvc mock测试)

    本文将详细介绍如何使用Spring MVC的Mock测试机制来直接测试Controller层代码,以便更好地隔离和验证控制器的行为。 **什么是Mock测试?** Mock测试是一种软件测试技术,它允许在不依赖真实环境或第三方组件的情况...

    用gomock进行mock测试的方法示例

    go-mock是专门为go语言开发的mock库,该库使用方式简单,支持自动生成代码,这篇文章主要介绍了用gomock进行mock测试的方法示例,感兴趣的小伙伴们可以参考一下

    VUE+mock测试+农业计算工具

    在java web应用中,进行用例实现时,很多情况难以模拟,比如数据库用例,如果直接通过连接数据库进行测试,导致用例对环境依赖很大,这时,可以通过mock技术可以模拟构造数据环境,从而进行单元测试,这里提供有实现...

    mock

    在Struts2中,有多种方式来实现Mock测试: 1. `junit怎么测试struts里的Action.htm`:这个文件名暗示了如何使用JUnit进行Struts2 Action的测试。JUnit是Java开发中最常用的单元测试框架,可以配合Mockito或EasyMock...

    googlemock库附使用教程

    本文将详细介绍如何利用Google Mock进行单元测试,以及如何设置开发环境和编写测试用例。 首先,我们来理解什么是Google Mock。Google Mock允许开发者创建模拟对象,这些对象可以模拟复杂的依赖关系,以便在测试中...

Global site tag (gtag.js) - Google Analytics