Re: Unit tests and foreign key constraints

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: achambers(dot)home(at)googlemail(dot)com
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Unit tests and foreign key constraints
Date: 2015-05-21 20:34:54
Message-ID: 20150521203454.GA18278@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)svana(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brent Wood 2015-05-21 20:46:52 Re: About COPY command (and probably file fdw too)
Previous Message Dave Owens 2015-05-21 20:33:46 Re: Unit tests and foreign key constraints