5 ms·
There are tools for Postgres unit testing https://wiki.postgresql.org/wiki/Test_Frameworks https://wiki.postgresql.org/wiki/Test_Frameworks. Which is not to say
by csnweb 3y ago
There are tools for Postgres unit testing https://wiki.postgresql.org/wiki/Test_Frameworks https://wiki.postgresql.org/wiki/Test_Frameworks. Which is not to say there isn’t any room for improving them.
- aurareturn 3y agoWrite more Postgres functions to unit test Postgres functions. :))
- maxbond 3y agoIsn't that normally the premise of testing? Eg writing Python functions to test other Python functions?
- aurareturn 3y agoYes but Python is nice to write. Postgres functions are not. At least not to me.
- maxbond 3y agoDepending on what kind of deployment you have, you could use Tcl, Rust, or even Python if you could use untrusted extensions. (Not a comment on this particularly testing framework, but Postgres server-side programming more generally.) But I hear you, PgSQL can be very annoying and unergonomic, and it's not a language most people you're hiring will know upfront. Pushing things onto the backend isn't unreasonable. When I write tests for PgSQL, I write them in Python and run them from the client side, not on the server.
- ttfkam 3y agopl/pgSQL is very good (and ergonomic) for a logical extension to SQL, aka set theory programming with intermediate state. It isn't and was never targeted toward general purpose programming like Python. That said, 100% agree that unit tests should live outside the DB. Querying for sets inside or outside makes no functional difference, and your DB doesn't need all that extra cruft.