Unit Testing in PostgreSQL with PLV8
Tuesday, March 14, 2017PostgreSQL is an amazing and extensible database, providing a ton of functionality. One of the best parts, in my opinion, is the ability to add additional programming languages to create stored procedures. This allows developers to move business logic deeper into the database itself. Unfortunately, this is often very hard to test in isolation.
The current state of testing in PostgreSQL is to run make installcheck
,
which runs a myriad of SQL commands living in files in the sql
directory,
with the results checked against a bunch more files living in the expected
directory. This works, but is often-times difficult to add into existing
test suites, which ultimately leaves holes in testing.