1

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

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

我从 MyBatis 调用这个查询:

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

现在我怎样才能测试这个操作以获得正确的结果?


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

4

3 回答 3

2

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

对于电子书:

  1. 单元测试:JUnit 在行动
  2. 回归测试:
于 2013-01-26T07:22:24.650 回答
1

在这里,您似乎想test MyBatis's functionality使用 JUnit 对其 CRUD 功能。我会做的是,use the native JDBC这是一个既定标准,可以在数据库上触发查询并根据给出then compare the的结果得出结果MyBatis function

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

于 2013-01-26T07:20:17.030 回答
1

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

关于测试的书籍:

于 2013-01-26T08:37:02.387 回答