Unit tests and foreign key constraints

From: Andy Chambers <achambers(dot)home(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Unit tests and foreign key constraints
Date: 2015-05-21 19:39:01
Message-ID: CAHnaAcw6vtqgJ0h-+pkfrzWoOPHHm5iBY-f-KDs3zJ0Z3sJ+xw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hey All,

I've started trying to use foreign key constraints in my schema but it
seems to make it more difficult to write unit tests that touch the database
because each test now requires more setup data to satisfy the foreign key
constraint. (I know some say your unit tests shouldn't touch the DB but the
more full stack tests I have, the better I sleep at night :-))

I wondered if anyone else has run into this problem and found a good
strategy to mitigate it. I thought I might be able to make these
constraints deferred during a test run since I have automatic rollback
after each test but even after "set constraints all deferred", I still got
a foreign key violation during my test run if the test tries to insert data
with a non-existent foreign key.

Cheers,
Andy

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brian Dunavant 2015-05-21 19:51:16 Re: date with month and year
Previous Message Jan de Visser 2015-05-21 19:29:05 Re: Allowing postgresql to accept 0xff syntax for data types that it makes sense for?