anchor.diff:  }
   ----
   
  -The instances injected are the same instances as returned by `getJdbi()` and `getSharedHandle()`.
  -
  -The javadoc for link:{jdbidocs}/testing/junit5/JdbiExtension.html[JdbiExtension] contains further information on how to customize a programmatically registered instance.
  +The instances injected are the same instances as returned by link:{jdbidocs}/testing/junit5/JdbiExtension.html#getJdbi()[getJdbi()] and link:{jdbidocs}/testing/junit5/JdbiExtension.html#getSharedHandle()[getSharedHandle()].
  +
  +
  +Currently supported databases:
  +
  +* link:https://www.postgresql.org/[Postgres] - link:{jdbidocs}/testing/junit5/JdbiPostgresExtension.html[JdbiPostgresExtension^], link:{jdbidocs}/testing/junit5/JdbiExternalPostgresExtension.html[JdbiExternalPostgresExtension^], link:{jdbidocs}/testing/junit5/JdbiOtjPostgresExtension.html[JdbiOtjPostgresExtension^]
  +* link:https://www.h2database.com/[H2] - link:{jdbidocs}/testing/junit5/JdbiH2Extension.html[JdbiH2Extension^]
  +* link:https://www.sqlite.org/[Sqlite] - link:{jdbidocs}/testing/junit5/JdbiSqliteExtension.html[JdbiSqliteExtension^]
  +
  +Support for other databases is wanted!
  +
  +The link:{jdbidocs}/testing/junit5/JdbiExtension.html[JdbiExtension^] provides a number of convenience methods:
  +
  +[source,java, indent=0]
  +----
  +public class JdbiExtension {
  +    public JdbiExtension postgres(...) // new JdbiPostgresExtension(...)
  +
  +    public JdbiExtension externalPostgres(...) // new JdbiExternalPostgresExtension(...)
  +
  +    public JdbiExtension otjEmbeddedPostgres() // new JdbiOtjPostgresExtension()
  +
  +    public JdbiExtension h2() // new JdbiH2Extension()
  +
  +    public JdbiExtension sqlite() // new JdbiSqliteExtension()
  +}
  +----
  +
  +Additional functionality may be available by using the database specific implementation classes directly. For most common use cases, the convenience methods should suffice.
  +
  +
  +==== Testing with H2
  +
  +The H2 database is one of the most popular choices for embedded testing. The link:{jdbidocs}/testing/junit5/JdbiH2Extension.html[JdbiH2Extension^] class allows for a few additional customizations:
  +
  +[source,java, indent=0]
  +----
  +    // JdbiH2Extension(String) constructor allows H2 options
  +    // JDBC URL is jdbc:h2:mem:<UUID>;MODE=MySQL
  +    JdbiH2Extension extension = new JdbiH2Extension("MODE=MySQL");
  +
  +    // set H2 user
  +    extension.withUser("h2-user");
  +
  +    // set H2 user and password
  +    extension.withCredentials("h2-user", "h2-password");
  +----
  +
  +==== Testing with Postgres
  +
  +Postgres is supported through multiple test classes:
  +
  +* link:{jdbidocs}/testing/junit5/JdbiPostgresExtension.html[JdbiPostgresExtension^] manages a local database on the host. It uses the link:https://pg-embedded.softwareforge.de/[pg-embedded] library that can spin up postgres instances on various OS and architectures. This is the fastest way to get to a postgres instance. Most of the Jdbi test classes that use Postgres use this extension.
  +* link:{jdbidocs}/testing/junit5/JdbiExternalPostgresExtension.html[JdbiExternalPostgresExtension^] supports an external Postgres database and can run tests against any local or remote database.
  +* link:{jdbidocs}/testing/junit5/JdbiOtjPostgresExtension.html[JdbiOtjPostgresExtension^] supports the link:https://github.com/opentable/otj-pg-embedded[OpenTable Java Embedded PostgreSQL component].
   
   
   == Third-Party Integration
  
positive.code: }
  ----
  
  When using the `@ExtendWith` declarative extension, test methods can access the link:{jdbidocs}/core/Jdbi.html[Jdbi^] and link:{jdbidocs}/core/Handle.html[Handle^] objects through method parameters:
  
  [source,java]
  ----
  
negative.code: The `jdbi3-testing` artifact provides link:{jdbidocs}/testing/JdbiRule.html[JdbiRule]
  class which implements link:https://junit.org/junit4/javadoc/latest/org/junit/rules/TestRule.html[TestRule^] and can be used with the link:https://junit.org/junit4/javadoc/latest/org/junit/Rule.html[Rule^] and link:https://junit.org/junit4/javadoc/latest/org/junit/ClassRule.html[ClassRule^] annotations.
  
  It provides helpers for writing JUnit 4 tests integrated with a managed database instance. This makes writing unit tests quick and easy!  You must remember to include the database dependency itself, for example to get a pure H2 Java database:
  
  [source,xml]
  ----
  <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>2.1.212</version>
      <scope>test</scope>
  </dependency>
  ----
  
  JUnit 4 supports the OTJ embedded postgres component, which needs to be included when using Postgres:
  
  [source,xml]
  ----
  <dependency>
      <groupId>com.opentable.components</groupId>
      <artifactId>otj-pg-embedded</artifactId>
      <version>1.0.1</version>
      <scope>test</scope>
  </dependency>
  ----
  