问题标签 [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 回答
183 浏览

spring - 是否可以在每种情况下创建全新的架构?

有没有办法在每个案例上创建全新的模式?这里不使用 @DatabaseTearDown 注释,因为我需要重置 id 生成器,因为我的一些测试期望依赖于它们(也许这是一个不好的做法)

重新安排我的测试的更新:

在我预期的数据集中之一,我有:

其中术语表中的 oid 是生成的 id。我想确保在 field_enum_element 表中创建了 3 行,但是如果我省略了从预期数据集中生成的 id,如下所示:

spring-test-db-unit 认为表中有 0 行

更新:

testCreateEnumField.xml

testCreateEnumField.expected.xml

理想情况下,我希望能够在测试和测试用例之间删除序列。

0 投票
1 回答
227 浏览

testng - Maven Surefire + TestNG + DBUnit:没有指定哪个测试方法失败

我使用 DBUnit、Spring Test、TestNG 和 maven(Surefire 自带)来运行测试。但是当 DBUnit 的一些断言失败时。他们没有指定我的哪种测试方法失败,而是 AbstractTestNGSpringContextTests.springTestContextAfterTestMethod 的测试方法。

你们能帮我隔离失败吗?我需要知道失败的根源。谢谢,

0 投票
0 回答
878 浏览

testng - DBUnit 无法通过 xml 文件将数据导入 H2 DB

我正在做 DBUnit 2.5.0 和 h2 db,这是一个用于 TestNG 的内存数据库 1.4.180。我使用 DBUnit 从 db (PostgreSQL) 导出数据模式。然后我将此 xml 文件用于 H2 DB,但每当我运行 testNG 时,它都会引发异常:

我已经尝试了很多,但我找不到解决它的方法。请你帮助我好吗?这是我的全部课程:我创建了一个类来自定义注释:DATASET

@DATASET 的一个侦听器类:

并将其应用于我的单元测试类:

这是我的 test-context.xml 文件:

感谢您的帮助!冯阮

0 投票
1 回答
372 浏览

junit - JUnit、DBUnit 和 HSQLDB 用于 JUnit 测试用例。如何创建表?在任何测试开始之前..我没有使用休眠或其他 ORM

我将 DBUnit 与 HSQLDB 一起用于 JUnit 测试用例。我无法使用@DatabaseSetup 创建表。当测试用例开始使用没有 ORM 提供程序的 DBUnit + HSQL 时如何创建表

0 投票
0 回答
552 浏览

spring - Spring DBUnit 在自动装配之前插入数据集

我有一些在@PostConstruct方法中查询数据库的 bean。因此,我需要在自动装配发生之前准备好数据库。这可能吗?

这是我的测试课:

这是查询内部数据库的 bean @PostConstruct

这是我要测试的类的一个例子

0 投票
1 回答
2375 浏览

java - DBunit NoSuchTableException

我正在尝试将 dbunit 和 spring dbunit 包含到我的项目中进行测试。我有 2 个文件夹:“src/test/java/dao”和“src/test/resources/dao”。

在资源道

尝试使用大写和小写(BRANDS,brands),仍然有同样的问题。

在主java中

我的品牌实体:

这是我的连接:

在使用dbunit之前,遇到了同样的问题,并且

为我解决了这个问题。现在,如果我的 schema.xml 文件为空,并且我正在使用“brandsDao.create(new Brand())”方法在其中一种测试方法中添加品牌,那么一切正常。但是当我添加

在我的 schema.xml 中,我得到了这个“NoSuchTableException:Brands”。

另外,在我将它插入到我的上下文 xml 之前:

我有“在架构 null 中找不到表 'BRANDS'”。尝试了有关此错误的不同文章,但仍然没有任何帮助。我猜当 dbunit 尝试从模式中插入数据时,我的数据库没有创建。

将不胜感激一些提示或建议。

0 投票
1 回答
142 浏览

spring - 使用 Spring 测试在测试中提交事务

我正在测试我的存储库以进行更新操作

在测试用例中,我将我的实体保存为默认状态,然后我使用 updateStatusByEmail(CUST_EMAIL,STATUS_EMAIL_VERFIED) 将其更改为其他,但下一个断言语句仍然失败,这是因为测试执行期间的更新是在之后提交的测试完成......有什么方法可以在测试中提交我的更改?

0 投票
1 回答
16576 浏览

spring - 什么是 TestExecutionListener,它们有什么作用?

据我了解,TestExecutionListeners 的行为类似于@BeforeClassJUnit 中的方法。我不明白为什么我需要使用DependencyInjectionTestExecutionListenerTransactionalTestExecutionListener使用。DirtiesContextTestExecutionListenerDbUnitTestExecutionListener

通常没有 DbUnit,我可以创建和填充数据库。为什么我突然需要使用这些侦听器来CRUD为我的数据库做一些事情?

0 投票
1 回答
9671 浏览

dbunit - DbUnit @DatabaseTearDown 注释:如何只删除某些记录?(使用@DatabaseSetup 注解插入的那些)

我试图只删除我使用 @DatabaseSetup 注释插入的那些记录。

我的测试如下所示:

数据集.xml

据推测,使用 DatabaseOperation.DELETE 意味着“删除与数据集中的行匹配的数据库表行”。但是当我执行测试时,它会删除我表中的所有数据。

我认为问题在于用于拆卸的 xml 文件的格式。我尝试使用不同的格式:

首先尝试 tear-down.xml

第二次尝试 tear-down.xml

而且无论使用何种格式,它总是会删除表中的所有数据。我找不到一个不简单地列出表名的用于拆卸的格式示例。在大多数示例中,人们似乎都使用相同的 xml 文件进行设置和拆卸。

但这必须是可能的,不是吗?

0 投票
4 回答
7170 浏览

java - 春季测试 DBunit 警告

我正在使用 spring-test-dbunit,我在单元测试中收到一条警告消息:

代码:

警告:

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

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

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