1 unstable release
0.1.0 | Mar 7, 2024 |
---|
#806 in Testing
22KB
404 lines
temp-postgres
Easy temporary postgresql instance for unit tests.
Use the TempPostgres
struct to get a tokio_postgres::Client
that is connected to a temporary postgres instance.
All state of the spawned postgres instance is stored in a temporary directory, which will be cleaned up automatically (unless disabled).
On Unix platforms, the client is connected over a Unix socket. Windows support is planned by picking a free TCP port on the loopback adapter.
Example
See the example in the repository for a more detailed example using assert2
.
use temp_postgres::TempPostgres;
let postgres = TempPostgres::new().await?;
println!("Using temporary directory: {}", postgres.directory().display());
let client = postgres.client().await?;
client.execute("CREATE TABLE pets (name TEXT PRIMARY KEY, species TEXT)", &[]).await?;
License: MIT
lib.rs
:
Easy temporary postgresql instance for unit tests.
Use the TempPostgres
struct to get a tokio_postgres::Client
that is connected to a temporary postgres instance.
All state of the spawned postgres instance is stored in a temporary directory, which will be cleaned up automatically (unless disabled).
On Unix platforms, the client is connected over a Unix socket. Windows support is planned by picking a free TCP port on the loopback adapter.
Example
See the example in the repository for a more detailed example using assert2
.
use temp_postgres::TempPostgres;
let postgres = TempPostgres::new().await?;
println!("Using temporary directory: {}", postgres.directory().display());
let client = postgres.client().await?;
client.execute("CREATE TABLE pets (name TEXT PRIMARY KEY, species TEXT)", &[]).await?;
Dependencies
~9–19MB
~297K SLoC