Spring 测试 DBunit 警告

2024-04-25

我正在使用 spring-test-dbunit,并且在单元测试中收到一条警告,其中包含以下消息:

Code:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/context.xml"})
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
    DirtiesContextTestExecutionListener.class,
    TransactionalTestExecutionListener.class,
    DbUnitTestExecutionListener.class })
public class TestDB {

    @Autowired 
    private ICourseService courseService;

    @Test
    @DatabaseSetup("sampleData.xml")
    public void testFind() throws Exception {
        List<Course> courseList = this.courseService.getAllCourses();

        assertEquals(1, courseList.size());
        assertEquals("A001", courseList.get(0).getCourseNumber());
    }

}

Warning:

1093 [主要] 警告 org.dbunit.dataset.AbstractTableMetaData - 潜在 发现问题:配置的数据类型工厂'class org.dbunit.dataset.datatype.DefaultDataTypeFactory' 可能会导致 当前数据库“MySQL”的问题(例如某些数据类型可能 无法得到适当的支持)。在极少数情况下,您可能会看到此消息 因为支持的数据库产品列表不完整 (列表=[德比])。如果是这样,请通过以下方式请求 java 类更新 论坛。如果您使用自己的 IDataTypeFactory 扩展 DefaultDataTypeFactory,确保覆盖 getValidDbProducts() 指定支持的数据库产品。

当我使用不带 spring-test-dbunit 的 DBunit 时,问题可以解决,如下所示:

  Connection jdbcConnection = DriverManager.getConnection( "jdbc:mysql://localhost/test", "root", "root");
        IDatabaseConnection connection = new DatabaseConnection(jdbcConnection);
        connection.getConfig().setProperty(DatabaseConfig.PROPERTY_DATATYPE_FACTORY, new MySqlDataTypeFactory());
        connection.getConfig().setProperty(DatabaseConfig.PROPERTY_METADATA_HANDLER, new MySqlMetadataHandler());

我不知道如何在 spring-test-dbunit 中解决这个问题。请帮忙。


问题解决了。 我将以下配置添加到 applicationContext.xml (context.xml) 。

<property name="location">
        <value>classpath:jdbc.properties</value>
    </property> 
</bean>  

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${driver}" />
    <property name="url" value="${url}" />
    <property name="username" value="${username}" />
    <property name="password" value="${password}" />
</bean>

<bean id="sqlDataTypeFactory" class ="org.dbunit.ext.mysql.MySqlDataTypeFactory" />

<bean id="dbUnitDatabaseConfig" class="com.github.springtestdbunit.bean.DatabaseConfigBean">
     <property name = "datatypeFactory" ref = "sqlDataTypeFactory" />
</bean> 
<bean id="dbUnitDatabaseConnection" class="com.github.springtestdbunit.bean.DatabaseDataSourceConnectionFactoryBean">
    <property name="databaseConfig" ref="dbUnitDatabaseConfig"/>
    <property name="dataSource" ref="dataSource" />
</bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 测试 DBunit 警告 的相关文章

随机推荐

  • 如何声明二维数组?

    创建二维数组的最简单方法是什么 我希望能够做类似的事情 declare int d 0 m 0 n 您还可以通过指定数组的索引来创建关联数组或类似 哈希表 的数组 array array 0 gt array name gt John Do
  • Git:切换分支时保留忽略的文件

    我知道这看起来像是重复的GIT 切换分支时如何保留被忽略的文件 https stackoverflow com questions 15552959 git how to keep ignored files when switching
  • Tomcat 组件是什么?什么是卡塔利娜和郊狼? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能描述一下 Tomcat 中的组件是什么 它在 Tomcat 服务器中的作用是什么 什么是郊狼 卡塔琳娜是什么 Catalina是T
  • 奇数运算符优先级/关联性行为[重复]

    这个问题在这里已经有答案了 在 Python 2 7 中 下面的内容是怎么回事 True w in what 两者的行为都不同 True w in what and True w in what gt gt gt True w in wha
  • 当你用 mlockall 设置的内存用完时会发生什么?

    我正在开发一个需要大量内存才能批量运行的 C 应用程序 gt 20GB 我的一些客户遇到了内存限制 有时操作系统开始交换 总运行时间加倍或更糟 我读到可以使用 mlockall 来防止进程被换出 当进程内存需求以这种方式接近或超过可用物理内
  • 如何在JPA中反映“嵌套集”模型

    很好用嵌套集 http www evanpetersen com item nested sets html对于分层数据 但在这个设计中 如果删除或插入一些数据 您应该始终计算右侧和左侧节点 此外 您没有任何外键 我如何用 JPA 反映这个
  • python模拟下面的return_value是什么

    我对 python 模拟很陌生 所以只是想理解它 在下面的代码中 下面指出的 1 和 2 语句之间有什么区别 因为最后我可以设置mock response status code与任一陈述 import requests def get d
  • Safari - 视频加载速度太慢

    我在将视频添加到我的网站时遇到了一些麻烦 我使用这段代码
  • 使用自己的路径在不同的 python 可执行文件下生成 multiprocessing.Process

    我有两个版本的Python 实际上是两个conda环境 path to bin 1 python path to bin 2 python 我想从一个版本的 python 启动一个在另一个版本中运行的函数 使用类似multiprocessi
  • 敲除验证

    我有一个 asp net mvc3 项目 我在其中使用淘汰赛绑定对表进行批量编辑 我想在保存数据时进行必需验证和数字验证等验证 有没有更简单的方法来进行淘汰验证 PS 我没有使用表格 看一下敲除验证 https github com eri
  • 井字游戏的极小极大

    我正在尝试用简单的极小极大算法来解决井字游戏 简单 但应该涵盖很多语言 到目前为止我所拥有的 该板表示为 9 个 未绑定 变量的数组 这些变量可以设置为x or o 获胜条件基本上是 win Player X1 X2 X3 X1 Playe
  • 如何在 IAR EWARM 5.4 中抑制警告(从错误转换)

    我有一个用于日志记录的宏 它接受可变数量的参数 该宏将由 GCC 在非嵌入式上下文中处理 并扩展为有效的 C 代码 尽管如此 无论我在何处调用宏 数千个位置 IAR EWARM 都会给出错误 Pe054 宏调用中的参数太少 EWARM 确实
  • AngularJS 阻止 symfony2 表单中的提交按钮

    我在 symfony2 中创建了表单 最后呈现了提交表单的按钮 当我添加ng app myApp 一切正常 但我无法提交此页面上的表单 为什么会这样以及如何解锁 FORM gt add company choice array mapped
  • NSAssert 与断言:您使用哪个以及何时使用?

    最近 我读到了两条非常有趣的建议 在评论中这个 StackOverflow 答案 https stackoverflow com questions 1375786 whats the point of nsassert actually
  • 如何将多个身份验证提供商链接到 Firebase 帐户?

    我无法成功执行此操作 我按照 Firebase 文档上的说明执行了以下步骤 使用现有的身份验证提供程序登录使用 我的案例 脸书 完成新身份验证提供程序的登录流程 直至 但不包括 调用其中之一Auth signInWith方法 我的情况 我想
  • Oauth2 Google 身份验证流程 - Next.JS / Express

    我正在使用 React Next Js 前端 并尝试通过 Google 的 Oauth2 策略实现身份验证 我对这个过程感到非常困惑 目前在客户端上 我有一个 Google 登录组件 其中包含客户端 ID 并且可以检索访问令牌
  • 如何将查询结果放入文本字​​段?

    我正在创建一个会计数据库 对于财务结果 我的表 单有一个文本字段 Previous Solde 其中显示了前几个月的销售情况 确切的金额是通过以下查询计算出来的 SELECT sq Argenta Prep Vorig Saldo Acco
  • 为什么导入在 setuptools Entry_point 脚本中失败,但在 python 解释器中却失败?

    我有以下项目结构 project project py init py setup py lib init py project init py tools py with project py from project lib impor
  • 从 Java 访问 Firefox 的证书信任存储

    我对这个几乎失去希望了 我正在尝试使用 Firefox 安装附带的 NSS 库通过 PKCS 11 从 Java 7 访问 Firefox 信任存储 这是代码 import java security KeyStore import jav
  • Spring 测试 DBunit 警告

    我正在使用 spring test dbunit 并且在单元测试中收到一条警告 其中包含以下消息 Code RunWith SpringJUnit4ClassRunner class ContextConfiguration locatio