Products
Testy bazy (pgTAP)
Testy schematu, polityk RLS i funkcji w pgTAP — z panelu, CLI, API i na gałęziach podglądu z GitHuba.
This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page
Testy pisze się w pgTAP — tym samym formacie co supabase test db. Każdy plik działa w transakcji, która jest zawsze wycofywana, więc testy mogą wstawiać i usuwać dane bez śladu.
-- supabase/tests/profiles_test.sql
select plan(3);
select has_table('public', 'profiles', 'tabela istnieje');
select col_is_pk('public', 'profiles', 'id', 'id jest kluczem głównym');
select policies_are('public', 'profiles', array['Profile są publiczne']);
select * from finish();
Gdzie uruchamiać
- Panel: Baza danych → Testy bazy — edytor plików, „Uruchom bez zapisu”, historia uruchomień z wynikami asercji.
- CLI:
hostbase test dburuchamiasupabase/tests/**/*.sql(albo wskazany plik/katalog;--saved— testy z panelu). Kod wyjścia 1 przy nieudanych testach — gotowe do CI. - Management API:
POST /api/v1/projects/{ref}/database/tests/runz{"files":[{"name":"a.sql","sql":"..."}]}lub pustym body (testy z panelu). Odpowiedź zawieraok, liczniki i wyniki per plik. - GitHub: gdy repozytorium ma
supabase/tests/*.sql, testy uruchamiają się na gałęzi podglądowej każdego PR; wynik trafia do statusuHostBase Testsi komentarza PR.