listing multiple unit test failures
Robert Fraser
fraserofthenight at gmail.com
Tue Mar 11 23:00:41 PDT 2008
Robert Fraser wrote:
> Spacen Jasset wrote:
>> I have started some unit tests:
>>
>> unittest
>> {
>> // Check row column indexing is correct
>> Matrix m;
>> m[2,0] = 59;
>> assert(m.matrix_flat[2]==59, "opIndexAssign failed");
>> assert(m.matrix_flat[8]!=59, "opIndexAssign failed");
>> }
>>
>> If an assert fails the other assertions in a program do not fire. This
>> is inconvient since the "real bug" introduced may be caused by some
>> other assertion that has not been evaluated yet.
>>
>> What I am looking for, therefore is more of a writefln of each
>> failure, together with a single assertion to abort the program if any
>> test has failed.
>>
>> If there isn't such a feature then I suppose I need a "Global" class
>> which holds a bit flag to be set when an assertion is registered, and
>> then in main this class could be made to assert if the flag is set.
>
> Not to knock on Mr. Wright's solution, which is probably excellent and
> more directly addressable to the problem at hand, but I'm working on a
> solution (designed to use IPC to be used from other applications, etc.)
> that does just this and a lot more. Check:
> http://www.dsource.org/projects/descent/browser/trunk/descent.unittest/flute/src/org/dsource/descent/unittests/flute.d
>
>
> And the docs at:
> http://svn.dsource.org/projects/descent/trunk/descent.unittest/flute/doc/flute.html
>
I should mention flute is in-progress, so unless _really_ don't want to
change your unittest { } blocks into DUnit tests, use DUnit instead.
More information about the Digitalmars-d-learn
mailing list