How to do unittests

Namal via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Oct 2 03:22:38 PDT 2015


On Wednesday, 30 September 2015 at 14:44:20 UTC, qsdf wrote:
> On Wednesday, 30 September 2015 at 14:20:28 UTC, Namal wrote:
>> On Wednesday, 30 September 2015 at 13:03:52 UTC, Rikki 
>> Cattermole wrote:
>>> On 01/10/15 1:59 AM, Namal wrote:
>>>> Hello,
>>>>
>>>> can someone give me a complete example please how to do 
>>>> unittests? I
>>>> tried this with the example from german wikipedia, but the 
>>>> flag
>>>> -unittest didn't make any difference.
>>>
>>> Example file with loads of unittests: 
>>> https://github.com/rikkimax/alphaPhobos/blob/master/source/std/experimental/uri.d
>>>
>>> If you were to compile it e.g. dmd uri.d it won't be much use 
>>> (unittest wise). You will need to dmd -unittest uri.d to 
>>> compile them in. Don't forget to do the same for your main 
>>> function. When you run the final executable the tests will 
>>> execute before your main function does.
>>
>> can't I do unittest in the main?
>
> D unit tests are like a stack of free functions. You put them 
> separatly.
>
>
> when there's a main: dmd -unittest a.d
> --
> module a;
> void main(){}
>
> unittest{}
> --
>
>
> when there is no main: (like std.uri): dmd -main -unittest a.d
> --
> module a;
> unittest{}
> --
>
> the -main switch adds a dummy main function so that the output 
> can be executed.
>
> But most of the time you'll think that nothing happens because 
> the tests succeed...

So do I understand it right that it stops after the first failed 
test? Is it possible to continue and get a list of all failed 
tests?




More information about the Digitalmars-d-learn mailing list