jOOQ testing
Accomplishing jOOQ testing can be done in several ways, but we can immediately highlight that the less appealing option relies on mocking the jOOQ API, while the best option relies on writing integration tests against the production database (or at least against an in-memory database). Let's start with the option that fits well only in simple cases, mocking the jOOQ API.
Mocking the jOOQ API
While mocking the JDBC API can be really difficult, jOOQ solves this chore and exposes a simple mock API via org.jooq.tools.jdbc
. The climax of this API is represented by the MockConnection
(for mocking a database connection) and MockDataProvider
(for mocking query executions). Assuming that jUnit 5 is used, we can mock a connection like this:
public class ClassicmodelsTest { public static DSLContext ctx; @BeforeAll public static void setup() { // Initialise your data provider MockDataProvider provider = new ClassicmodelsMockProvider(); ...