1

我需要编写一些单元测试,我必须用一些虚拟数据模拟结果集和记录。我不知道如何初始化和实例化它们。请帮忙

提前致谢。

4

1 回答 1

3

jOOQ 有一些内置的 mock 功能,请参阅手册的JDBC mocking for unit testing一章,它可能是您正在寻找的。

但是,要简单地创建一个 jOOQ 的Resultor Record,您可以使用DSLContext

// Create the record using the jOOQ generated classes and set a property
MyTableRecord record1 = DSL.using(configuration).newRecord(MY_TABLE);
record1.setValue(MY_TABLE.MY_PROPERTY, "value");

// or simply...
MyTableRecord record2 = new MyTableRecord();
record2.setMyProperty("value");

// Then you can populate the Result
Result<MyTableRecord> result = DSL.using(configuration).newResult(MY_TABLE);
result.add(record1);
result.add(record2);

您还提到ResultSet,如果您指的是 JDBC ResultSet,那么模拟它可能会更复杂一些。相反,我建议DbUnit,它不是 JDBC 类的模拟,但您将帮助您设置数据库以进行测试,这可能会帮助您获得与模拟 JBDC 类相同的效果。

于 2013-10-14T21:45:54.317 回答