gpt4 book ai didi

Junit (DBUnit) 测试在 Maven 中失败,但在 Eclipse 中没有?

转载 作者:行者123 更新时间:2023-12-04 05:07:04 26 4
gpt4 key购买 nike

我的 Junit 测试使用 DBUnit,从 Eclipse 运行时它们运行良好。但是,使用 Maven 运行相同的测试失败了一项测试:

integrity constraint violation: foreign key no action

我已经尝试连续多次运行该测试和来自 eclipse GUI(“作为 JUnit 测试运行”)的整个测试集,它们从未失败 - 但从 Maven 中它们确实失败了。

我每次测试都使用@DatabaseSetup,但是真的重置数据库就足够了吗?我还认为 Maven 可能会并行运行测试,所以我尝试在我的 pom.xml 中为 Surefire 插件将 forkMode 设置为“始终”,但它没有改变任何东西。

最佳答案

您正在使用注释 @DatabaseSetUp来自 spring-test DBUnit用于数据库初始化。您应该使用注释 @DatabaseTearDown也是。

来自 spring-test DBUnit文档:
The @DatabaseTearDown annotation can be used to reset database tables once a test has completed. As with @DatabaseSetup the annotation can be applied at the method or class level. When using @DatabaseTearDown use the value and type attributes in the same way as @DatabaseSetup.

关于Junit (DBUnit) 测试在 Maven 中失败,但在 Eclipse 中没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com