DUnit: Advanced unit testing toolkit.

Dicebot public at dicebot.lv
Thu Sep 26 04:12:31 PDT 2013


On Thursday, 26 September 2013 at 06:07:50 UTC, Jacob Carlborg 
wrote:
> On 2013-09-25 21:55, Dicebot wrote:
>
>> UDAs + recent trait to get all unit-tests during compile-time 
>> really
>> favors instead having lot of small independent annotated 
>> unit-test blocks.
>
> If you have more than one test per unit test block you always 
> need to run them together, and in the declared order. Example:
>
> unittest
> {
>     @test("foo")
>     {
>         assert(1 == 1);
>     }
>
>     @test("bar")
>     {
>         assert(1 == 2);
>     }
> }
>
> You cannot run "foo" separated from "bar". They all will always 
> run together. You also cannot run "bar" before running "foo". 
> Running tests like this makes it very easy to introduce order 
> dependencies between the tests.

I was saying that if you want to have some tests independent, it 
makes much more sense to do it this way:

```
@test("foo") unittest
{
     assert(1 == 1);
}

@test("bar") unittest
{
     assert(1 == 2);
}
```

..and let tests within one block terminate on first failure. That 
should integrate better with existing tooling when no external 
testing library/framework is connected.


More information about the Digitalmars-d-announce mailing list