Table of Contents

Overview

Npgsql has an extensive test suite to guard against regressions. The test suite is run on the official build server for the .NET Framework and .NET Core with all supported PostgreSQL backends.

Continuous integration results are publicly available via Github Actions.

Getting Started

Setup PostgreSQL

The Npgsql test suite requires a PostgreSQL backend for tests to run. By default, the test suite expects PostgreSQL to be running on the local machine with the default port (5432).

  1. Install PostgreSQL: https://www.postgresql.org/download
  2. Start the PostgreSQL backend.

Create the npgsql_tests account

By default, the test suite expects an account named npgsql_tests with a password of npgsql_tests. This account is used by the test suite to create a database named npgsql_tests and run the tests.

$ psql -h localhost -U postgres
postgres=# CREATE USER npgsql_tests PASSWORD 'npgsql_tests' SUPERUSER;
postgres=# CREATE DATABASE npgsql_tests OWNER npgsql_tests;

Note: superuser access is required to create and drop test databases, load extensions (e.g. hstore, postgis), etc.

Clone the repository

cd ~
git clone git@github.com:npgsql/npgsql.git (use ssh)
git clone https://github.com/npgsql/npgsql.git (use https)

Run the test suite

cd ~/npgsql
dotnet test ./test/Npgsql.Tests
dotnet test ./test/Npgsql.PluginTests
dotnet test ./test/Npgsql.Benchmarks