如何为应用程序的CRUD操作编写JUnit测试( Java 应用程序)。我使用MyBatis作为数据库的数据映射器。 例如,我有一个查询:
SELECT * FROM sm.PERSON WHERE name='something'
我从MyBatis调用此查询:
java.util.List<Person> persons = SqlMapClient.openSession().queryForList(queryName)
现在我如何测试此操作以获得结果正确?
(另一件事请告诉我学习java测试的书名。我知道基础知识,我想深入了解。)
答案 0 :(得分:2)
我认为您的Junit测试应该独立运行,而不依赖于数据库结果。 在您的情况下,您需要使用数据库进行测试,您可以使用DbUnit,一个针对数据库驱动项目的junit扩展。
对于电子书:
答案 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也可以提供帮助。
关于测试的书籍: