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