0

我正在使用具有数据库的 MySQL 进行 Spring Webflow 编程。

我有一些 Maven 在使用测试数据库而不是开发数据库的构建上运行的 jUnit 测试用例。我们有一个 diff 数据库,用于在 dev 中运行项目,然后是构建。

在运行我的项目之前,我需要在 dev 中设置一些测试数据。我在 maven 中使用 jUnit 作为包/测试的一部分,但问题是测试使用的是 diff xml 和数据库。你认为我可以如何让项目在运行之前删除 dev 中的一些删除。有谁知道任何用于 maven 的 MySQL 插件之前会运行一个脚本?

4

2 回答 2

0

我想您是在询问如何在运行 Junit 测试之前设置数据库。如果是这样,我建议您查看DBUnit和(如另一个答案中所建议的)内存数据库。

于 2013-01-30T18:46:36.733 回答
0

我不完全确定您在问什么,但我认为您希望在运行测试时在数据库中提供某些数据,并且这些数据在不同的环境中是不同的。

鉴于您已经在使用 maven,我建议您为每个环境设置构建配置文件,这将允许您指定不同的数据库连接,实际上,如果您实现了诸如休眠之类的 ORM,您甚至可以删除数据库模式和数据在您的测试/开发环境中每次运行时重新创建。

此外,在您希望数据特定于您的测试运行并且数据不需要在测试范围之外持续存在的环境中,实现一个内存数据库,例如 HSQL,它可以根据需要使用数据作为种子,并且最后擦除,这将使您的开发环境更适合大量开发人员,并消除对物理数据库资源的需求。

于 2013-01-30T16:49:54.993 回答