首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序猿的大杂烩

    DBUnit数据库测试

    DBUnit数据库测试: DBUnit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装。 虽然不用dbunit也可以达到这种目的,但是我们必须为此付出代价(编写大量代码,测试及维护),既然有了这么优秀的开源框架,我们又何必再造轮子。 可以直接在Maven工程里下载dbunit依赖包,普通工程的话直接导入jar包到工程环境即可。 Maven工程配置dbunit依赖包示例: ? 虽然这种情况可以将表格创建一个副本出来,然后对表格副本进行测试,这样就避免了会破坏表格里的数据,但是这种方法比较麻烦,而且有些情况就是想直接对表格进行测试而不想对副本进行测试,那么就需要使用DBUnit 使用DBUnit工具测试完后,数据库表格里的数据就不会出现测试数据残留或者数据损坏了: ?

    1.2K20发布于 2020-09-23
  • 来自专栏IT专栏

    dbunit实现原理及最佳实践

    参考博客1介绍了dbunit的实现原理,但博主对此说法并不认同。 其实如果数据库不支持事务的化,当前面说的type值为REFRESH时,由dbunit来实现事务将会非常复杂,因为这意味着dbunit不仅仅需要考虑单测前数据表中的数据,还得考虑单测过程中对数据表所做的修改 由此可见,dbunit没有自己实现事务的理由。 所以如果你的dbunit单测没有加事务的化(@Transactional注解),数据就有被清空的风险。 /blog/61221 DbUnit中的DatabaseOperation介绍

    1.1K40发布于 2021-11-22
  • 来自专栏简单就是美!

    使用DbUnit,可以用Ant的任务来实现,也可以直接写DbUnit的测试代码实现 AntMySQLMobilejunitJDBC

    DbUnit:http://www.dbunit.org/ DbUnit is a JUnit extension (also usable with Ant) targeted for database-driven -- 定义DbUnit需要的包,包括DbUnit包和jdbc包。 DBUnit\dbunit-2.1.jar"/>  <property name="jdbc.jar" value="${lib.dir}\MySQL\lib\mysql-connector-java- -- 定义<em>DbUnit</em>的Ant任务类 -->   <taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpathref="DbUnit.classpath org.dbunit.dataset.IDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.operation.DatabaseOperation

    83520发布于 2019-02-27
  • 来自专栏海说

    基于dbunit进行mybatis DAO层Excel单元测试

    优点:无需清空无关数据;缺点:单元测试中需要进行数据库初始化过程,如果初始化过程复杂,单元测试工作量增大 使用dbunit。 示例如下: import org.dbunit.database.DatabaseConfig; import org.dbunit.ext.mysql.MySqlDataTypeFactory; import ; import org.unitils.dbunit.datasetfactory.DataSetFactory; import org.unitils.dbunit.util.DbUnitDatabaseConnection import org.dbunit.database.AmbiguousTableNameException; import org.dbunit.dataset.DefaultDataSet; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable; import org.dbunit.dataset.excel.XlsDataSet

    2.1K00发布于 2017-12-28
  • 来自专栏软件测试那些事

    数据库测试的新选择Database-Rider

    想看笔者唠嗑的可以顺序往下看,了解DBUnit以及Utilities-DBUnit、Spring-test-dbunit等轮子。 1-DBUNIT 数据库测试工具事实上的标准就是DBUnit。 于是,一个基于DBUnit的新框架spring-test-dbunit横空出世,提供了Spring Test Framework与DBUnit之间的集成,实现注解驱动的数据库集成测试方式。 不像DBUnit那样可以独立使用。 优势1:DBUnit+Spring-test-dbunit 首先,这还是一个基于DBUnit的框架 ,具备了DBUnit的基本功能,其次还吸收了Spring-test-dbunit基于注解的特性。 DataBase-Rider中引入了较新的dbunit ,并计划在新版本中引用dbunit2.6.0 详见feature request: update to DBUnit 2.6.0 #111 相对于其竞争对手来说

    1.5K40发布于 2020-12-01
  • 来自专栏啄木鸟软件测试

    Java单元测试——容器内部测试

    ; import org.dbunit.dataset.ReplacementDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.ext.hsqldb.HsqldbConnection; import org.junit.AfterClass; import org.junit.BeforeClass; ; import static org.junit.Assert.*; import org.dbunit.Assertion; import org.dbunit.dataset.IDataSet ; import org.dbunit.operation.DatabaseOperation; import org.junit.Test; public class UserDaoJdbcImplTest Test public void testGetUserById() throws Exception { IDataSet setupDataSet = getDataSet("Test/DbUnit

    86340发布于 2020-08-31
  • 来自专栏软件测试那些事

    动态测试数据让用例活起来-DBRider

    TWEET: - ID: "1" CONTENT: "dbunit rules!" DATE: "[DAY,NOW]" USER_ID: 1 - ID: "2" CONTENT: "dbunit rules!" DATE: "[DAY,YESTERDAY]" USER_ID: 1 - ID: "4" CONTENT: "dbunit rules!" DATE: "[DAY,YEAR_AFTER]" USER_ID: 1 - ID: "6" CONTENT: "dbunit rules!" DATE: "[HOUR,PLUS_ONE]" USER_ID: 1 - ID: "7" CONTENT: "dbunit rules!"

    97110发布于 2020-12-03
  • 来自专栏啄木鸟软件测试

    spring boot应用测试框架介绍

    二、spring-test-dbunit介绍与应用 2.1、介绍 spring-test-dbunit是spring boot的作者之一Phillip Webb开发的、用于给spring项目的单元测试提供 dbunit功能的开源项目。 spring-test-dbunit的官网介绍为:Spring DBUnit provides integration between the Spring testing framework and the popular DBUnit project。 四、扩展 spring-test-dbunit(http://springtestdbunit.github.io/spring-test-dbunit/)与spring-boot-unitils-starter

    1.3K20发布于 2019-12-11
  • 来自专栏故里学Java

    告别祈祷式编程|单元测试在项目里的正确落地姿势

    的使用 「主要用途:」 dbunit是专门用来测试DAO层的,以后开发中DAO的测试就可以使用dbunit来进行 「使用流程:」 备份所有的表 private void backAllTable( ; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet ; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import ; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet ; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.operation.DatabaseOperation; import

    1.5K30发布于 2020-11-25
  • 来自专栏浅羽技术

    告别祈祷式编程|单元测试在项目里的正确落地姿势

    的使用 「主要用途:」 dbunit是专门用来测试DAO层的,以后开发中DAO的测试就可以使用dbunit来进行 「使用流程:」 备份所有的表 private void backAllTable( ; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet ; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import ; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.DataSetException; import org.dbunit.dataset.IDataSet ; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.operation.DatabaseOperation; import

    1.5K10发布于 2020-12-07
  • 来自专栏周拱壹卒

    Java 后端自动化测试

    import org.dbunit.DataSourceBasedDBTestCase; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.ITable ; import org.dbunit.dataset.xml.FlatXmlDataSetBuilder; import org.dbunit.operation.DatabaseOperation; https://dbunit.sourceforge.net/dbunit/ [8] v2.8.0: https://dbunit.sourceforge.net/dbunit/changes-report.html #a2.8.0 [9] Introduction to DBUnit: https://www.baeldung.com/java-dbunit [10] Getting Started: https ://dbunit.sourceforge.net/dbunit/howto.html [11] Spring Framework: https://docs.spring.io/spring-framework

    89310编辑于 2024-08-14
  • 来自专栏海说

    spring service层单元测试

    依据测试方法划分,可以分为两种:基于mock的隔离测试和基于dbunit的普通测试。 基于dbunit普通测试 unitils-dbunit测试直接模拟底层数据库中存储的内容,对service层进行测试的时候会直接连同DAO层一起测试。 具体测试方法可以参考基于dbunit进行mybatis DAO层Excel单元测试

    3.2K01发布于 2017-12-28
  • 来自专栏python3

    python 使用pymssql 连接M

    ################################################## # Copyright (C), 2009-2010, aliyun # FileName: dbunit.py datetime,time import binascii import os import types import os import pdb import pymssql class DBUnit except: self.connection.rollback() return -1 if __name__ == '__main__': a = time.time() db = DBUnit

    75410发布于 2020-01-09
  • 来自专栏测试技术圈

    测试工具中的设计模式之组合模式

    . */ import org.dbunit.operation.*; public enum SeedStrategy { CLEAN_INSERT(DatabaseOperation.CLEAN_INSERT CompositeOperation中应该包含了一个容纳DatabaseOperation类及其子类的组合,以及遍历并执行execute方法的execute方法,我们来看一下 package org.dbunit.operation ; import java.sql.SQLException; import java.util.Arrays; import org.dbunit.DatabaseUnitException; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.IDataSet; import org.slf4j.Logger

    72810发布于 2020-11-05
  • 来自专栏罗西的思考

    [记录点滴] 记录一次用 IntelliJ IDEA遇到scope provided 的坑

    找到之后,就在pom.xml文件中把对应jar去掉,比如在org.unitils中去掉org.dbunit。 unitils.version}</version> <exclusions> <exclusion> <artifactId>dbunit </artifactId> <groupId>org.dbunit</groupId> </exclusion> </

    3K20发布于 2020-09-07
  • 来自专栏软件测试那些事

    DataSet导入三个坑

    > <dataset> <TWEET ID="abcdef12345" CONTENT="<em>dbunit</em> rules!" DATE="2020-10-02 17:07:52.0" USER_ID="1"/> <USER ID="1" NAME="@realpestano"/> <USER ID="2" NAME="@<em>dbunit</em> 其次是在数据导入时的问题,<em>DBUnit</em>一个著名的bug是在导入XML、CSV格式的文件时,如果待导入文件的第一条记录的Nullable列的数据正好是Null,那么<em>DBUnit</em>会忽略该列,整列数据都会被丢失 解决办法2:XML导入时指定DTD <em>DBUnit</em>给出的一个解决办法是,在导出XML文件的同时,再导出一份XML_DTD,来指明数据库的列。导入数据时,利用DTD来指定数据列,如下例: <! 解决办法3:利用DBRider提供的JSON/YAML文件格式进行导入 新的数据类型规避了上述<em>DBUnit</em>的缺陷,因此不会再发生整列数据丢失的问题了。这也是笔者喜欢DBRier的原因之一。

    1.4K10发布于 2020-12-02
  • 来自专栏软件测试那些事

    策略模式案例II-看DBRider如何导入数据

    recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package org.dbunit.operation ; import java.sql.SQLException; import org.dbunit.DatabaseUnitException; import org.dbunit.database.IDatabaseConnection ; import org.dbunit.dataset.IDataSet; public abstract class DatabaseOperation { public static final

    88530发布于 2020-12-03
  • 来自专栏Linyb极客之路

    10个Java开发人员的顶级测试工具、库和框架介绍

    还有一个Spring Test DbUnit将Spring Test框架与DbUnit和Spring Test MVC HtmlUnit集成在一起,它将Spring Test MVC框架与HtmlUnit 9、DBUnit 数据库是许多Java应用程序(核心Java和Web应用程序)不可或缺的一部分,可能是进行单元测试时的最大障碍。 DbUnit是一个JUnit扩展,可用于在每次集成测试之前将数据库初始化为已知状态,以确保数据库包含正确的数据。 DbUnit有自己的问题,但它是一个非常有用的工具,因为它可以帮助我们将测试数据创建与测试代码分开。

    1.6K30编辑于 2022-03-10
  • 来自专栏Java后端技术栈cwnait

    10个Java开发人员的顶级测试工具、库和框架介绍

    还有一个Spring Test DbUnit将Spring Test框架与DbUnit和Spring Test MVC HtmlUnit集成在一起,它将Spring Test MVC框架与HtmlUnit DBUnit 数据库是许多Java应用程序(核心Java和Web应用程序)不可或缺的一部分,可能是进行单元测试时的最大障碍。 DbUnit是一个JUnit扩展,可用于在每次集成测试之前将数据库初始化为已知状态,以确保数据库包含正确的数据。 DbUnit有自己的问题,但它是一个非常有用的工具,因为它可以帮助我们将测试数据创建与测试代码分开。 10.

    3.3K50发布于 2019-07-16
  • 来自专栏软件测试那些事

    数据库断言的8种姿势-基于DBRider

    shouldMatchMultipleDataSets() { User u = new User(); u.setName("@realpestano"); User u2 = new User(); u2.setName("@dbunit "); em().persist(u); em().persist(u2); Tweet t = new Tweet(); t.setContent("dbunit rules again!" arhohuttunen"); User u2 = new User(); u2.setName("@realpestano"); User u3 = new User(); u3.setName("@dbunit

    1.9K10发布于 2020-12-01
领券