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

Bogdan Szabo szabobogdan3 at gmail.com
Wed Aug 15 13:31:46 UTC 2018


On Wednesday, 15 August 2018 at 11:26:20 UTC, Anton Fediushin 
wrote:
> 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

I wonder if the test runners could provide a template for the 
injected code, that dub could use it on `dub test`. I wonder if 
we could add something like `"testRunner": "trial"` in the 
dub.json file.



More information about the Digitalmars-d-announce mailing list