测试数据库结果

时间:2013-01-26 06:53:15

标签: java testing junit

如何为应用程序的CRUD操作编写JUnit测试( Java 应用程序)。我使用MyBatis作为数据库的数据映射器。 例如,我有一个查询:

SELECT * FROM sm.PERSON WHERE name='something'

我从MyBatis调用此查询:

java.util.List<Person> persons = SqlMapClient.openSession().queryForList(queryName)

现在我如何测试此操作以获得结果正确?


(另一件事请告诉我学习java测试的书名。我知道基础知识,我想深入了解。)

3 个答案:

答案 0 :(得分:2)

我认为您的Junit测试应该独立运行,而不依赖于数据库结果。 在您的情况下,您需要使用数据库进行测试,您可以使用DbUnit,一个针对数据库驱动项目的junit扩展。

对于电子书:

  1. 单元测试:JUnit In Action
  2. 回归测试:Selenium

答案 1 :(得分:1)

在这里,您似乎希望使用JUnit来test MyBatis's functionality其CRUD函数。我要做的是,use the native JDBC是一个既定的标准,用于通过数据库触发查询,then compare the结果用MyBatis function给出的结果。

对于第二个问题,如果您使用JUnit 3,则使用JUnit in Action first edition,如果使用JUnit 4,请使用JUnit in Action second edition

答案 2 :(得分:1)

第一个问题:持久层的测试并不容易。您应该阅读Junit in Action第2版的第17章。 Unitils也可以提供帮助。

关于测试的书籍: