Thread overview
Handling unittests that are designed to fail
Jun 05, 2013
Johannes Pfau
Jun 05, 2013
bearophile
June 05, 2013
Hi all,

I'd like to design a unittest that will fail -- that is, it will trigger an
assert() or enforce() failure inside the function it is testing.

How would I go about doing this so that the unittest {} block will confirm the failure and count this as a "pass"?

Thanks & best wishes,

    -- Joe
June 05, 2013
Am Wed, 05 Jun 2013 14:31:58 +0200
schrieb Joseph Rushton Wakeling <joseph.wakeling@webdrake.net>:

> Hi all,
> 
> I'd like to design a unittest that will fail -- that is, it will
> trigger an assert() or enforce() failure inside the function it is
> testing.
> 
> How would I go about doing this so that the unittest {} block will confirm the failure and count this as a "pass"?
> 
> Thanks & best wishes,
> 
>     -- Joe

http://dlang.org/phobos/std_exception.html

assertThrown and maybe collectException
June 05, 2013
Joseph Rushton Wakeling:

> I'd like to design a unittest that will fail -- that is, it will trigger an
> assert() or enforce() failure inside the function it is testing.
>
> How would I go about doing this so that the unittest {} block will confirm the
> failure and count this as a "pass"?

For the exceptions take a look here:
http://dlang.org/phobos/std_exception.html#.assertThrown

Bye,
bearophile
June 05, 2013
Thanks to both of you :-)  In the end I decided to go with collectExceptionMsg as this allows a very precise unittest.