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

From Martijn van Oosterhout
Subject Re: Unit tests and foreign key constraints
Date
Msg-id 20150521203454.GA18278@svana.org
Whole thread Raw
In response to Unit tests and foreign key constraints  (Andy Chambers <achambers.home@gmail.com>)
Responses Re: Unit tests and foreign key constraints  (Andy Chambers <achambers.home@gmail.com>)
List pgsql-general
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...

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> He who writes carelessly confesses thereby at the very outset that he does
> not attach much importance to his own thoughts.
   -- Arthur Schopenhauer

Attachment

pgsql-general by date:

Previous
From: Nicolas Paris
Date:
Subject: Re: About COPY command (and probably file fdw too)
Next
From: Dave Owens
Date:
Subject: Re: Unit tests and foreign key constraints