热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Spring建立虚拟DB环境进行单测

在进行DAO本地测试或者单元测试时,db环境有时很难弄,而且即使调通了db环境,有时也不想往db里面灌些无用数据,所以,为了不对真

在进行DAO本地测试或者单元测试时,db环境有时很难弄,而且即使调通了db环境,有时也不想往db里面灌些无用数据,所以,为了不对真

在进行DAO本地测试或者单元测试时,db环境有时很难弄,而且即使调通了db环境,有时也不想往db里面灌些无用数据,所以,为了不对真实db环境造成侵入,spring提供了一套虚拟db环境,,利用它可以方便地进行单元测试。

在spring环境中配置:




type支持HSQL、H2、Derby三种。默认为HSQL
schema.sql文件为建库建表语句,data.sql为表数据文件,初始可以先insert一些数据。

配置embedded database之后,就可以将其注入到需要dataSource的DAO中,之后就可以进行DAO单元测试了。

另外,还有一种代码方式来创建embedded database:
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
EmbeddedDatabase db = builder.type(H2).script("schema.sql").script("test-data.sql").build();
// do stuff against the db (EmbeddedDatabase extends javax.sql.DataSource)
db.shutdown();

相关阅读:

运用Spring注解实现Netty服务器端UDP应用程序

Spring2.5.6+Hibernate3+RMI整合

Struts2与Spring整合步骤


推荐阅读
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • API网关作为微服务架构中的关键组件,扮演着系统与外部世界交互的唯一接口角色。它不仅封装了系统的内部复杂性,还为不同客户端提供了个性化的API接口。本文将探讨API网关的重要性及其核心功能。 ... [详细]
  • 本文详细解析了 SUCTF 2019 中的 EasySQL 题目,重点探讨了堆叠注入与 UNION 注入的区别及其应用条件。 ... [详细]
  • 深入解析Apache SkyWalking CVE-2020-9483 SQL注入漏洞
    本文详细探讨了Apache SkyWalking中的SQL注入漏洞(CVE-2020-9483),特别是其影响范围、漏洞原因及修复方法。Apache SkyWalking是一款强大的应用性能管理工具,广泛应用于微服务架构中。然而,该漏洞使得未经授权的攻击者能够通过特定的GraphQL接口执行恶意SQL查询,从而获取敏感信息。 ... [详细]
  • .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
    .NETCore中的一个接口多种实现的依赖注入与动态选择看这篇就够了最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式,为了灵活我在依赖注入的 ... [详细]
  • 文章目录17、less17-UpdateQuery-Errorbased-String18、less18-HeaderInjection-ErrorBased-string19、l ... [详细]
  • 解决MySQL错误2002:无法建立数据库连接
    本文详细描述了在Digital Ocean服务器上托管的多个WordPress站点突然出现数据库连接错误的情况,并提供了有效的解决方案。 ... [详细]
  • 利用GitHub热门资源,成功斩获阿里、京东、腾讯三巨头Offer
    Spring框架作为Java生态系统中的重要组成部分,因其强大的功能和灵活的扩展性,被广泛应用于各种规模的企业级应用开发中。本文将通过一份在GitHub上获得极高评价的Spring全家桶文档,探讨如何掌握Spring框架及其相关技术,助力职业发展。 ... [详细]
  • 深入解析数据库连接池的类型及参数配置
    本文详细介绍了数据库连接池的三大类型及其各自的特性,并深入探讨了连接池的关键参数配置,帮助开发者更好地理解和利用数据库连接池技术。 ... [详细]
  • 本文详细介绍了 Spring Boot 的启动过程,包括初始化、资源加载、上下文创建及配置加载等关键步骤,帮助开发者深入理解 Spring Boot 的内部机制。 ... [详细]
  • .NET Core 与 MySQL 的集成:API 和 Entity Framework Core 的应用
    本文介绍了如何在.NET Core 2.2环境中构建一个基于API的应用,并通过Entity Framework Core (EF Core) 连接MySQL数据库。包括项目的创建、必要的NuGet包安装以及数据库上下文的配置。 ... [详细]
  • 本文详细介绍了如何设置局域网,并确保网络中的所有计算机能够相互访问和共享安装的软件。包括物理连接检查、TCP/IP设置、网络协议配置等多个方面。 ... [详细]
  • 本文详细探讨了电脑重装操作系统后无法访问网络邻居的原因及解决方案,包括检查网络配置、权限设置等多个方面。 ... [详细]
  • SQL注入实验:SqliLabs第38至45关解析
    本文深入探讨了SqliLabs项目中的第38至45关,重点讲解了堆叠注入(Stacked Queries)的应用技巧及防御策略。通过实际案例分析,帮助读者理解如何利用和防范此类SQL注入攻击。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
author-avatar
kuaike的诱惑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有