问题标签 [spring-test-dbunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1196 浏览

java - 使用 DBUnit 测试数据库时如何忽略表的现有元素

我正在使用 DBUnit 来测试我的数据库。我的数据库不是空的,所以我想要的是忽略现有元素并只测试我的测试插入的数据。

这是如何运行测试的示例:

1- 表包含 10 个元素

2- DBUnit 从数据集中插入一些数据(3 个元素)

3-我的测试插入数据(1个元素)

4- 我的预期数据集包含 4 个元素,它们是第一个数据集中定义的 3 个元素和测试最近添加的元素

5-所以,当我对实际表和预期表进行断言时,它会显示一个错误,这是正常的,因为我的表已经包含元素。

问题是:有没有什么办法可以在assert 中忽略数据库中存在的元素?我只想测试数据集插入的数据并进行测试。

这是代码:

0 投票
1 回答
462 浏览

spring - DBUnit 和 Spring Data JPA 的 TransactionRequiredException

我正在使用 Spring Data JPA 开发一个 Spring Boot 应用程序。

我有一个 JpaRepository 在正常执行中运行良好,但是当我尝试使用 DBUnit 对其进行测试时,出现以下异常:

这是我的 JpaRepository:

这是我的测试课:

0 投票
1 回答
145 浏览

constraints - 使用 DBUnit / 约束名称进行约束标识

当某些数据库约束在运行 dbunit 测试期间失败时,会打印出它的名称,但会出现异常,例如

有没有可能找出哪个特定的约束是相应的。受影响表中的哪一列?显示的约束名称似乎是生成的。

我在互联网上找不到任何关于它的信息,所以我唯一要做的就是检查受影响的表,查看它有哪些约束并猜测我的数据集可能违反哪些约束......

0 投票
1 回答
1337 浏览

oracle - 如何使用 Dbunit FlatXmlDataSet 填充 Oracle TIMESTAMP WITH ZONE 字段

我正在尝试通过填充具有TIMESTAMP(6) WITH TIME ZONE如下类型列的表来设置数据库单元测试的数据:

但是当我运行测试时,我不断收到以下异常:

我为时间戳字段尝试了不同的格式,包括添加时区后缀 +XX:XX2015-03-01 10.00.00.000000000 +00.00无济于事。我还尝试使用 VM 参数运行测试,-Duser.timezone=UTC但这也无济于事。

有谁知道如何做到这一点?

编辑 1

我在控制台中注意到以下警告:

所以看起来 Dbunit 不支持TIMESTAMP WITH TIME ZONE数据类型并忽略它,因此出现NoSuchColumnException异常

编辑 2

实际上 dbunit 已经TIMESTAMP通过类支持数据类型OracleDataTypeFactory。配置将如下所示:

不幸的是,在这些配置更改之后,数据类型问题仍然存在,因为 dbunit DatabaseConfig.datatypeFactory 属性被 DbUnitTestExecutionListener 重新设置为DefaultDataTypeFactory不支持 TIMESTAMP 数据类型的默认值

0 投票
1 回答
1136 浏览

java - org.dbunit.dataset.NoSuchTableException:localized_values

我正在尝试使用spring test dbunit.

https://springtestdbunit.github.io/spring-test-dbunit/

当我使用 spring 时,4.1.x我决定使用 version 1.2.1forspring-test-dbunit2.5.2for core dbunit

最初我使用plain dbunit,效果很好。然后我决定尝试spring-test-dbunit,我遇到了几个问题。

这是我的测试课

我的数据集文件看起来像这样

数据库连接 bean 看起来像这样

dataSource豆在哪里

但是当我尝试运行测试时,我得到了这个错误

问题是什么?

另外,当我使用plain时,dbunit我必须进行设置autoCommit才能使其正常工作

(虽然我认为这autoCommit应该是true默认的)

0 投票
1 回答
90 浏览

dbunit - DBUnit 测试用例范围

我正在寻找 DBUnit TestCase 的范围。可以使用 DBUnit 测试 Spring DAO 层方法吗?我的看法是 JUnit 应该用于 Spring DAO 层测试用例。DBUnit 测试用例的范围是验证数据库表结构和主表数据。DBUnit 框架测试用例可以涵盖其他任何内容吗?

0 投票
1 回答
477 浏览

java - 为什么我会收到 DbUnit ComparsionFailure 异常?

我坚持对我的 DAO 进行更新测试。更新方法工作得很好,但最后我得到了一个例外:

junit.framework.ComparisonFailure: value (table=theme, row=0, col=Id) 预期:<[1]> 但是是:<[97]>

这是我的测试:

这是数据集。主题数据.xml:

预期主题数据.xml:

0 投票
1 回答
93 浏览

junit - DBunit 数据在 Oracle 中不可见

在我的项目中,我们使用 xml 文件将数据插入数据库(oracle)。但是,我没有得到这些数据在 DB 中的插入位置。我在执行查询时看到插入语句。但数据在数据库中不可见。检索时,数据来自数据库。但是这些数据存储在数据库中的位置。它使用任何临时表将数据存储在 DB 或它使用的任何其他机制中。我在执行插入查询语句时调试了代码。插入查询语句执行成功。但是数据在数据库中不可见。

如果有人对此有想法,请向我解释。

0 投票
0 回答
792 浏览

java - 数据验证中的 DbUnit 行顺序

我正在尝试在 XML 文件中的表和数据库中的表之间的插入操作中进行 DbUnit 数据验证。我已经按“ID”对两个表进行了排序,然后在比较中忽略了它,因为它的值是自动递增的,我不知道它是什么,但排序不好。这是根据 DbUnit 文档的代码:

当前的 XML:

预期的 XML:

最后一行是插入的行。我没有指定 ID,因为我不知道它是什么。

排序后:

排序实际:

排序预期:

行顺序不正确,因为它被排序为字符串并且“ID”是数字,因此比较失败。有任何想法吗?

0 投票
1 回答
271 浏览

spring-boot - DBUnit 错误:NoSuchTableException

我尝试根据此示例(https://github.com/21decemb/spring-boot-dbunit-example)为我的数据库服务编写单元测试。我创建了数据集和测试示例。运行测试后,我收到:org.dbunit.dataset.NoSuchTableException: orders

数据集.xml:

评论了第二个订单行,因为我正在测试两种可能性。我知道这是因为加入。当我只测试“职位”和“客户”(没有连接的简单实体)时,它可以正常工作。

我的“订单”实体:

有没有人知道如何解决它?

提前致谢。