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