2012-04-23 83 views
0

我必须为在数据库中插入记录的方法编写测试用例。是否当运行测试用例时,jUnit测试用例实际上在数据库中插入数据

当我们用jUnit测试用来测试在数据库中插入数据的函数时,jUnit测试用例是否实际上在数据库中插入数据?在运行测试用例之后,我可以检查数据库表中的数据吗?

+0

严格来说,如果你击中数据库(或任何外部系统),那么它的集成测试.... – 2012-04-23 12:48:52

回答

0

如果您为执行数据库插入的代码编写测试,那么该代码将在您练习时执行插入操作。

运行测试用例后,您可以检查数据库中的数据。您可以运行查询来判断数据库的状态是否正确。测试框架将为您自动执行此操作。

对数据库进行测试需要一些计划。有一件事你必须弄清楚你要测试的数据库。如果您在开发环境中针对数据库进行测试,则可能会受到数据更改的影响,并且测试可能无法预料地失败。使用像H2这样的内存数据库是一种流行的选择,以确保您的测试具有处于可预测状态的专用数据库。

DBUnit是一个简化数据库测试的测试框架。您可以在测试之前指定希望数据库填充的数据,并且您可以指定在测试之后您期望在数据库中的数据,并且框架将检查实际数据是否与您期望的数据相符。

+0

感谢您的快速回复 – deepakkumarjha 2012-04-24 04:53:22

1

JUnit测试只是像其他任何代码一样的代码。如果你创建一个JDBC连接并用它来执行语句,那么这些语句就会像其他地方一样工作。没有什么不可思议的事情发生。

-1

是的,它将数据添加到数据库中。但我们不应该那样做。在插入数据之后,我们需要再次运行一个删除插入数据的测试用例。这样数据库中就不会有任何变化。