Hi All,
It has been a few years since I asked for and received lots of
feedback here in answer to the question "What would a test framework
tailored specifically for micro-testing look like."
I did a little work, set it aside, travelled for a year, came home and
finally began to work seriously on it. The pandemic helped me
concentrate and I now have something that somewhat works.
It's called TC-Lite and is aimed at .NET Core testing. A few main
points, many of which connect back to that earlier discussion...
* It uses self-executing test assemblies that only need to reference
the SUT and the framework.
* It creates a separate fixture instance, intended to be extremely
lightweight, for each test case
* It uses attributes to designate tests, most commonly `[TestCase]`.
* It has no setup or teardown, at least for now. That was something
folks were a bit divided on.
This is still under development on github and has not yet had a binary
release. There's a sort of specification at
https://github.com/TestCentric/tc-lite/blob/master/README.md (Sort of
because it was written after the code and merely expresses my current
direction)
Although this targets a particular platform - as do all test
frameworks - I think some of the notions would translate well to other
languages and technology. In particular, it has been very handy that I
don't have to read and load assemblies (due to the self-execution) and
I'm finding parallel test execution much simpler without the need to
coordinate setting up and tearing down shared instances of the
fixture.
Thanks for the feedback I got here way back in 2017!
Charlie