JUnit 测试用例 - 设置数据

发布于 2024-07-16 20:43:40 字数 1431 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

老旧海报 2024-07-23 20:43:40

Spring 对这类事情有很好的支持 - 您想要针对“测试”数据库进行操作的单元测试,可以编写脚本以在每个单独的单元测试上重新创建。

最后一句话的后半部分是开发可重用和可扩展的单元测试的关键 - 针对数据库的单元测试不应被迫乐观地依赖于处于某种状态的数据,或者依赖于先前的单元测试首先运行 - 您需要为每个单元测试重新创建数据库,以便每个测试用例获得数据的“干净”版本。

实际上设置 Spring MVC 的分步教程 有一个关于为数据库类设置单元测试的部分,我认为即使您不使用 Spring MVC,这也是一个有价值的参考 - 您可以使用它作为如何设置测试数据库的参考从构建脚本创建/初始化,使用 Spring 容器在每次测试运行时重新加载数据等。

Spring has excellent support for this sort of thing - unit tests that you want to operate against a "test" database, which can be scripted to be re-created on each individual unit test.

The latter part of that last sentence is the key to developing re-usable and extensible unit tests - a unit test against a database should not be forced to rely on the data optimistically being in a certain state, or rely on a previous unit test to run first - you'll want to re-create the database for each unit test so that each test case gets a "clean" version of the data.

The step-by-step tutorial on setting up Spring MVC actually has a section on setting up unit tests for database classes, which I think would be a valuable reference even when you are not using Spring MVC - you can use this as a reference on how to set up the test database to be created/initialized from the build script, using the Spring container to re-load the data on each test run, etc.

拍不死你 2024-07-23 20:43:40

我建议使用 DBUnit。 允许您使用文件将数据库设置为已知状态,并与预期结果功能进行很好的比较。 入门指南位于此处

最好不要在测试用例中执行任何提交,然后您可以在tearDown() 上回滚。

I'd recommend using DBUnit. Allows you to setup a database to a known state using files and has nice comparison with expected results functionality. Getting started guide is here.

It's also good practice not perform any commits as part of the testcase and then you can rollback on tearDown().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文