I'm developing a new version of the Siesta testing tool: https://www.bryntum.com/products/siesta/
In the current version we had some poor man TeamCity reporter and I'm now improving it.
I've noticed, that service messages implementation is sub-optimal currently. I'd like to share my thoughts how it can be improved.
- First of all, it uses the "test" concept instead of "assertion", which is a bit weird. When one says "test" s/he probably means a test file, or, sometimes a group (it/describe section) of assertions. In other words, "test" is a "parent" tree node in the tests results. Assertion is a "leaf" tree node, containing a small, atomic statement about the code flow. Well, I can live with it, it is just a bit uncommon terminology.
- Second, it misses the concept of "test log message". Sometimes in the test, you'd like to log some information in the output report, for example for debugging purposes. Currently the only way to output such information is another `testStarted/testFinished` pair.
- Then I'd also use a separate entity for the "exception", as it is something we'd like to be instantly noticeable in the report.
- Current implementation is also missing any capability to style the output (color / background-color at least). It would be great if it would support the ANSI terminal styling codes (as in `chalk` nodejs module)
In general test results should be organized as tree (or several trees with different `flowId`). The "parent" nodes in the tree are "tests", the "leaf" nodes are assertions/log messages/exceptions.
Hope all this makes sense.
Please consider these improvements.
Thank you, Nickolay