Catching Errors
cym13 via Digitalmars-d
digitalmars-d at puremagic.com
Sat Jan 21 01:19:10 PST 2017
On Friday, 20 January 2017 at 14:22:23 UTC, Adam D. Ruppe wrote:
> On Friday, 20 January 2017 at 07:50:23 UTC, Jacob Carlborg
> wrote:
>> That doesn't work well with a unit test framework that want to
>> catch assertions to be able to continue with other tests.
>
> I'd suggest writing a new assert handler for your framework
> that does something different, then you can get a bit more
> control over it.
>
> Though, the built in assert is underpowered regardless... oh,
> how I wish it even had the convenience of C's assert, but I
> really want it to go a step further and show the values as well
> as the code that is failing.
>
> int a = 0;
> int b = 1;
> assert(a == b);
>
> Assertion `a == b` failed: test.d(3)
> a = 0
> b = 1
Default asserts can do that (not sure since when as I just
discovered that recently):
int a=0;
int b=1;
assert(a==b, format("a=%d, b=%d", a, b));
core.exception.AssertError@/tmp/test.d(18): a = 0, b = 1
> I know unit test frameworks tend to offer their own functions
> to get closer to this but it'd be compelling to me if it just
> worked with the built in too.
>
>
>
> Oh well, that's not today, but doing your own assert handler
> that just prints and continues, or prints and aborts the
> current test while continuing with the next or something like
> that is doable and perhaps useful.
More information about the Digitalmars-d
mailing list