mock写单元测试和查数据库的单元测试

这篇具有很好参考价值的文章主要介绍了mock写单元测试和查数据库的单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:mock方式

  1. 在测试类上添加注解
@ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
  1. 将需要测试的类bean添加进来,该类中的其他bean也添加进来
	//被测试类
	@Spy
    @InjectMocks
    private XXXMUService service;

	//测试类中添加的Autowired注解的bean
    @Mock
    private XXXDao xxxDao;
  1. 给被测试类中用到的参数、返回值类创建对象
	XXXVO parameterVO = new XXXVO();

    List<String> stringList = new ArrayList<>();

    List<XXXVo> xxxList = new ArrayList<>();
  1. 创建BeforeEach和AfterEach方法,在BeforeEach方法中给参数,返回值设置值
	@BeforeEach
    void setUp() {
        stringList.add("080");
        stringList.add("160");
        stringList.add("257");
        stringList.add("618");

        XXXVo xxxVo = new XXXVo();
        xxxVo.setXXX("202110");
        xxxList.add(xxxVo);

        parameterVO.setXXX("I");
        parameterVO.setYYY("202110");
    }

    @AfterEach
    void tearDown() {
    }
  1. 然后在test方法中设置被测试的方法
	@Test
    void function() {
    	//使用Mockito的when方法,来设置被测试方法需要用到的方法,参数可以直接通过Mockito方法进行虚拟参数设置,然后调用设置好的返回值就可以了。
        Mockito.when(xxxDao.xxx()).thenReturn(stringList );
        Mockito.when(xxxDao.xXXX(Mockito.any(),Mockito.anyList())).thenReturn(xxxList );
        //无返回值得可以通过字节码对象mock方法,参数直接mock进去
        Mockito.doNothing().when(Mockito.mock(对象.getClass()/.Class)).xXXX方法(Mockito.anyList());
        //调用被测试方法
        service.testFunction(parameterVO);
    }

二:可以检测dao层sql的单元测试

  1. 测试类上需要添加的注解。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppServer.class)
@TestPropertySource(properties = {
        "spring.datasource.data=classpath:data-base/report/data/data-xxx.sql"})
public class XxxTest 

@TestPropertySource注解中放的是sql地址
单元测试怎么mock数据库,单元测试,java,前端
放在测试包的resources文件下
单元测试怎么mock数据库,单元测试,java,前端
先删除表,然后将需要的字段值添加进去文章来源地址https://www.toymoban.com/news/detail-609503.html

  1. 设置参数以及进行测试
@Autowired
    XxxService xxxService;

    @Test
    public void testXxx(){
        try {
            XxxParameterVO xxxParameterVO = setParameterVO();
            //调用service中方法进行测试
            List<xxx> xxx = xxxService.findxxxVo(xxxParameterVO );
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    XxxParameterVO setParameterVO(){
        设置参数
    }

到了这里,关于mock写单元测试和查数据库的单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go 单元测试之Mysql数据库集成测试

    目录 一、 sqlmock介绍 二、安装 三、基本用法 四、一个小案例 五、Gorm 初始化注意点 sqlmock 是一个用于测试数据库交互的 Go 模拟库。它可以模拟 SQL 查询、插入、更新等操作,并且可以验证 SQL 语句的执行情况,非常适合用于单元测试中。 使用 sqlmock 进行 MySQL 数据库集成测试

    2024年04月17日
    浏览(32)
  • 使用MyBatis操作数据库及单元测试

    目录 一.MyBatis介绍 二.MyBatis操作数据库步骤 三.单元测试 idea上生成测试  配置mybatis日志 动态参数 MyBatis是⼀款优秀的持久层框架,⽤于简化JDBC的开发。 JDBC来操作数据库太复杂了,使用MyBatis 是因为它可以帮助我们更⽅便、更快速的操作数据库。 1. 创建springboot工程, 并导入

    2024年02月03日
    浏览(37)
  • 第三单元测试(数据库安全及设计)

    一. 单选题(共46 题,72.5分) 1. (单选题,1.5分)“死锁”是一直___D___。 A. 系统故障 B. 介质故障 C. 磁盘故障 D. 事务故障 2. (单选题,1.5分)事务的原子性是指___D____。 A. 事务一旦提交,对数据库的改变是永久的 B. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的 C. 事务

    2024年02月04日
    浏览(32)
  • Java单元测试之Mock指定方法

    单元测试时,假如你遇到某个内部方法无法正常调用;我们可以使用mock工具去解决,方法如下:

    2024年02月13日
    浏览(31)
  • Java的单元测试Testng和mock

    目录 单元测试重要性 TestNG TestNG官网介绍 TestNG教程 TestNG注解: 

    2024年02月07日
    浏览(28)
  • Java用正确的姿势写单元测试以及mock

    对于一些简单的功能或业务,我们也许可以通过前端调试、postman等接口工具、main函数调用进行测试。但这每次改动代码都要人力测试,耗费大量的人力资源且不高效,真正的项目中单元测试是必不可少的。 单元测试的三步走: 1、组装方法入参 2、执行方法 3、对方法的执行

    2024年02月13日
    浏览(24)
  • 在Java微服务项目中,如何使用Mock来进行单元测试?

    摘要: 在系统开发的过程中,单元测试是其中的一个重要环节。在Java微服务项目中,Spring框架本身就为我们提供了一套单元测试的框架SpringBootTest。如果我们在学校完成课堂作业或出于兴趣爱好自学,是可以使用Spring自带的单元测试框架进行单测的。 工作中,这种通过Spri

    2024年02月16日
    浏览(27)
  • spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用

    spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用 好大一批新用法,大家静下心来好好看看吧 1. spring boot 使用 Mockito.when().thenReturn()模拟返回值 Mockito 是一种 Java mock 框架,他主要就是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常…

    2024年02月15日
    浏览(37)
  • 怎么学习Java数据库连接(JDBC)? - 易智编译EaseEditing

    学习Java数据库连接(JDBC)是掌握Java与数据库交互的关键步骤。以下是学习Java JDBC的一些建议: 先掌握Java基础: 在学习JDBC之前,确保你已经掌握了Java的基本语法、面向对象编程和其他核心概念。这将有助于更好地理解JDBC的工作原理。 学习数据库基础知识: 了解关系型数

    2024年02月16日
    浏览(30)
  • java八股文面试[数据库]——可重复读怎么实现的(MVCC)

    可重复读(repeatable read)定义: 一个事务执行过程中看到的数据,总是 跟这个事务 在 启动时 看到的数据是一致的。 MVCC MVCC, 多版本并发控制 , 用于实现 读已提交 和 可重复读 隔离级别。 MVCC的核心就是 Undo log多版本链 + Read view ,“MV”就是通过 Undo log来保存数据的历史版

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包