Re: Unit tests and foreign key constraints - Mailing list pgsql-general

From Andy Chambers
Subject Re: Unit tests and foreign key constraints
Date
Msg-id CAHnaAcyU2xuaq2BZ-es7x6=CkOca_ezeha_DLm0L5BWZdsUr0w@mail.gmail.com
Whole thread Raw
In response to Re: Unit tests and foreign key constraints  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
On Thu, May 21, 2015 at 1:34 PM, Martijn van Oosterhout <kleptog@svana.org> wrote:
On Thu, May 21, 2015 at 12:39:01PM -0700, Andy Chambers wrote:
> 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.

Foreign keys aren't deferrable by default, you have to create them that
way...

Ah that's what I was missing. Thanks!

--
Andy

pgsql-general by date:

Previous
From: Brian Dunavant
Date:
Subject: Re: date with month and year
Next
From: "Karsten Hilbert"
Date:
Subject: Re: date with month and year