【发布时间】:2012-05-04 01:57:36
【问题描述】:
我必须为在数据库中插入记录的方法编写一个测试用例。
当我们使用 jUnit 测试用例来测试将数据插入数据库的函数时,它是否可以实际将数据插入数据库?运行测试用例后可以查看数据库表中的数据吗?
【问题讨论】:
-
严格来说,如果你点击数据库(或任何外部系统),那么它就是一个集成测试......
标签: junit
我必须为在数据库中插入记录的方法编写一个测试用例。
当我们使用 jUnit 测试用例来测试将数据插入数据库的函数时,它是否可以实际将数据插入数据库?运行测试用例后可以查看数据库表中的数据吗?
【问题讨论】:
标签: junit
JUnit 测试就像任何其他代码一样只是代码。如果您创建一个 JDBC 连接并使用它来执行语句,那么这些语句将像在其他任何地方一样工作。没有什么神奇的事情发生。
【讨论】:
如果您为执行数据库插入的代码编写测试,则该代码将在您执行它时执行插入。
你可以在运行测试用例后检查数据库中的数据。您可以运行查询来判断数据库的状态是否正确。测试框架将为您自动执行此操作。
针对数据库进行测试需要一些规划。一方面,您必须弄清楚您将针对哪个数据库进行测试。如果您在开发环境中针对数据库进行测试,您可能会受到数据更改的影响,并且您的测试可能会意外失败。使用像 H2 这样的内存数据库是一种流行的选择,以确保您的测试有一个处于可预测状态的专用数据库。
DBUnit 是一个简化数据库测试的测试框架。您可以在测试之前指定您希望数据库填充的数据,您可以指定测试后您希望数据库中包含哪些数据,框架将检查实际数据是否与您的预期相符。
【讨论】:
是的,它将数据添加到数据库中。但我们不应该那样做。插入数据后,我们需要再次运行删除插入数据的测试用例。这样数据库就不会发生任何变化。
【讨论】: