我需要编写一些单元测试,我必须模拟结果集和记录一些虚拟数据。我不知道如何初始化和实例化它们。请帮忙
提前致谢。
答案 0 :(得分:3)
jOOQ有一些内置的模拟功能,请参阅本手册的JDBC mocking for unit testing章节,它可能正是您所寻找的。 p>
但是,要简单地创建jOOQ的Result
或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类相同的效果。