Beta
UnitAutogen for PostgreSQL
Point it at a PostgreSQL database. It writes the pgTAP tests, seeds the data, runs them and reports coverage.
One test per branch of every function and trigger Seed data derived from the code, not written by hand Line and branch coverage, every uncovered line explained Standard pgTAP, committed next to your migrations
Standard pgTAP for PostgreSQL 14 to 18. Needs pgTAP and plpgsql_check in the target database.
One run produces the Database Coverage Report, with click-through to every routine's annotated source.
The one guarantee
Never a fabricated, false-passing, or flaky test.
A branch that cannot be tested reliably is reported, with the reason No failing tests, no false tests, in any report An explained gap always beats a false pass Safe to gate CI on
What it does Five capabilities, three editions.
Coverage Free
Unit and trigger tests, run for you. Line and branch coverage, including dynamic SQL. Every uncovered line explained.
Learn more →
Integration testing Team
Each function run with what it calls and what it fires. Coverage across the whole call map.
Learn more →
Security coverage Enterprise
RLS policies and tenant isolation through your functions, views and triggers, with evidence per routine.
Learn more →
PII audit Enterprise
Personal data caught escaping through error and RAISE messages, the leak nobody writes a test for.
Learn more →
HIPAA evidence Enterprise
Access control, audit-log and integrity evidence in one stamped report, mapped to the HIPAA Security Rule.
Learn more →
One command, one run unitautogen --schema public --out unit_tests --html report.html --json report.json
What comes out
One test_<routine>.sql per function, standard pgTAP trigger_tests/ with one file per triggerHTML Database Coverage Report with per-routine test counts, branch % and statement % Annotated source per routine, every uncovered line tagged with why JSON summary, one entry per routine, for CI Non-zero exit code when a test fails or coverage drops below your gate
What every routine gets
Executes with valid inputs Low and high boundary values One test per branch, true and false side Returns a stable result-set shape Returns rows matching its recorded output Touches only the expected tables A hand-built expectation scaffold you can fill in Triggers fired with INSERT, UPDATE and DELETE, effect asserted
Requirements
PostgreSQL 14 to 18 on Supabase, Neon, Amazon RDS and Aurora, Azure, or self-hosted pgTAP and plpgsql_check installed in the database under test A throwaway copy of the database, never production One self-contained binary for Windows or Linux; nothing on the server No telemetry; nothing leaves your machine
Correctness. Isolation. Compliance.
Made for developers, with evidence your security and compliance teams need.
Compliance
Dated reports you can rerun and give your auditor, for HIPAA and SOC 2 access controls.
Compliance evidence →
Your privacy
We would like to log your visit to see how the site is used. That records the page, the site you came from, your IP address and browser, and a random id for this tab. We delete it once we no longer need it.
Accept
Decline