#postgresql #template #testing #sqlx-pg-test-template

sqlx-pg-test-template-runner

Faster version of #[sqlx-test] macro for PostgreSQL

3 releases

0.1.2 Dec 12, 2024
0.1.1 Dec 12, 2024
0.1.0 Dec 10, 2024

#1864 in Database interfaces


Used in sqlx-pg-test-template

MIT license

6KB
114 lines

sqlx_pg_test_template

Faster version of the #[sqlx::test] macro for PostgreSQL. Database for every test is created using CREATE DATABASE ... WITH TEMPLATE ... and dropped after test is finished.

Usage

use sqlx_pg_test_template::test;

#[sqlx_pg_test_template::test]
async fn test(pool: Postgres<Pool>) {
    // Do work
}

#[sqlx_pg_test_template::test(template = "my_db_with_seeds")]
async fn test_with_seeds(pool: Postgres<Pool>) {
    // Do work
}

#[sqlx_pg_test_template::test(max_connections=5)]
async fn test_with_cursor(pool: Postgres<Pool>) {
    // Do work
}

Run tests:

DATABASE_URL="postgres://postgres:postgres@localhost:5432/test_template" cargo test

Check documentation for details.

Dependencies

~13–24MB
~377K SLoC