unit-threaded v0.5.7 - advanced multi-threaded unit testing library
Atila Neves via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Mon Feb 8 05:23:40 PST 2016
What's new:
Built-in unittest blocks can now have a name with just a string
UDA:
--------------------------------------------------------------------
@("test that does stuff") unittest {... }
Why is this important? If you just want to run unit tests in
threads and have them named, you don't need to import
unit_threaded in your source code anymore. I'm going to build on
this later with a tool to make it so that existing codebases can
benefit from unit_threaded without using it directly.
Value-parametrized tests
------------------------
Have you ever written a test that looks like this?
unittest {
foreach(v; [...]) {
//test code
}
}
I have, and when it fails you have no idea which of the values
caused the failure. Now, you can do this:
@(42, 2, 3)
void testValues(int i) {
(i % 2 == 0).shouldBeTrue;
}
testValues will be run once for each value UDA with the same type
in its declaration (in this case, int). Each run will be
considered a different test and reported as such with the value
that was used. In the above case, the output will contain this:
tests.pass.attributes.testValues.42:
tests.pass.attributes.testValues.2:
tests.pass.attributes.testValues.3:
tests/pass/attributes.d:76 - Expected: true
tests/pass/attributes.d:76 - Got: false
Test tests.pass.attributes.testValues.3 failed.
Enjoy!
Atila
More information about the Digitalmars-d-announce
mailing list