On Sunday, 12 August 2018 at 21:33:21 UTC, Dechcaudron wrote:
On Sunday, 12 August 2018 at 15:07:04 UTC, Anton Fediushin
wrote:
Silly is a brand-new test runner with simplicity in mind. It's
developed to be as simple as possible and contain no useless
features. Another important goal is to provide flexible tool
which can be easily integrated into existing environments.
I like the "add as dependency and you're done" thing
(unfortunately you have to apply conditional compilation to
main().
But quick question (just playing the devil's advocate). Why use
this library instead of, say, unit-threaded?
Problem with unit-threaded and similar tools is that they are too
complicated for no particular reason. Hacking into dub.json to
add some scripting into it is not something everybody wants to
waste their time on.
Trial might be the first test runner to solve this problem
because it just runs as a stand-alone tool and uses dub
internally, but it takes forever to compile. It uses too many
compile-time features which results in high RAM usage and slow
compilation times.
Another thing, these tools are trying to be everything people
might need adding all kinds of features nobody really uses. For
example, assertions in unit-threaded and a lot of different
reporters in trial.
These tools also advertise usage of built-in `unittest` blocks
for integration testing. I think it's just wrong because
`unittest`s are obviously meant for unit testing and slapping
integration tests on with some duct tape and zip ties is not a
good solution. Integration testing needs it's own tool and it's
quite possible that I'll end up writing one soon or later.
Silly is just my attempt to improve current state of D's
ecosystem where programmers don't use advanced test runners,
well, because it doesn't worth it for small projects.