silly is released - new test runner for the D programming language

Anton Fediushin fediushin.anton at yandex.com
Wed Aug 15 11:26:20 UTC 2018


On Wednesday, 15 August 2018 at 08:42:46 UTC, Bogdan Szabo wrote:
> Nice work Anton!
>
> It's nice to see that people are interested in writing better 
> test runners. This project reminds me of `tested`: 
> http://code.dlang.org/packages/tested

Thanks, tested works just like unit-threaded - list of modules 
has to be passed to a special template. Silly, on the other hand, 
exploits features of dub to do its job.

<snip>

>> Well, 'advertise' might not be the right word for that, but 
>> both unit-threaded and trial provide means to write 
>> integration tests. Even though there is support for some 
>> simple things like creating temporary files and defining 
>> steps, it goes beyond "unit testing" but is not enough for 
>> integration tests. This kind of testing can require things 
>> like setting up a database or running other services which 
>> cannot be done with existing tools.
>>
>>> ...
>
> For me, integration tests are long and sometimes are too many. 
> When you embed the integration tests inside the source code 
> makes harder to find the tested code.
>
> I know that we lack of features for the integration tests, but 
> my time is limited and I would like work on other projects 
> too...

It's ok, we're all enthusiasts here.

>
> I would like to see if we can make those runners compatible, in 
> the sense that if someone wants to switch from silly to 
> unit-threaded or trial, to be done with no headaches.

Removing silly will be simple enough, but switching between 
runners... not so much, it'd require different `configurations` 
in dub.json for different runners.

What we could do though is improve dub to handle this in the same 
way it uses tested to run tests when it's installed [1].

[1]: 
https://github.com/dlang/dub/blob/9914720ca5dcd9b37eb2ec0ffb08f218642a1960/source/dub/dub.d#L717


More information about the Digitalmars-d-announce mailing list