The forum must be sick of hearing from me... :P For those not in the know, unit-threaded is an advanced unit testing library for D:

http://code.dlang.org/packages/unit-threaded

The v0.6.3 release had tests parametrized by value; this v0.6.5 release brings with it the possibility of parametrizing tests by type, like so:

@Types!(int, byte)
void testInit(T)() {
    assert(T.init == 0);
}

This will run the testInit code twice, once for each type, and report them as separate tests:

tests.pass.attributes.testInit.int:
tests.pass.attributes.testInit.byte:


I've literally only written that silly testInit example yet. But imagine how easy it'd be to test, say, different input ranges.

I'm thinking of ways of getting the parametrized tests to work with the built-in unittest blocks. I assume it'll be hacky. Right now it's the only thing that requires non-standard test functions and I'm trying to augment the existing unit testing features of D instead of replacing them.

Atila

Reply via email to