Una de sus mejores opciones podría ser utilizar las capacidades de burla de jOOQ como se documenta en esta publicación de blog aquí:
Fácil burlarse de su base de datos
Un ejemplo simple de cómo producir datos simulados para MockConnection de jOOQ:
MockDataProvider provider = new MockDataProvider() { // Your contract is to return execution results, given a context // object, which contains SQL statement(s), bind values, and some // other context values @Override public MockResult[] execute(MockExecuteContext context) throws SQLException { // Use ordinary jOOQ API to create an org.jooq.Result object. // You can also use ordinary jOOQ API to load CSV files or // other formats, here! DSLContext create = DSL.using(...); Result result = create.newResult(MY_TABLE); result.add(create.newRecord(MY_TABLE)); // Now, return 1-many results, depending on whether this is // a batch/multi-result context return new MockResult[] { new MockResult(1, result) }; } }; // Put your provider into a MockConnection and use that connection // in your application. In this case, with a jOOQ DSLContext: Connection connection = new MockConnection(provider); DSLContext create = DSL.using(connection, dialect); // Done! just use regular jOOQ API. It will return the values // that you've specified in your MockDataProvider assertEquals(1, create.selectOne().fetch().size());