I already have a library that finds all unittest blocks (as well
as its own) and names them by appending a monotonically
increasing integer to mymodulename.unittest. I've been thinking
of using a UDA to decorate unittest blocks so that they show up
with that instead but never got around to it because I don't
really use unittest blocks and nobody is asking for the feature.
It'd take 30min to add though.
Obviously 1st class support would be preferable, I like the
unittest nameGoesHere {
//...
}
that was mentioned later in the thread.
Atila
On Monday, 30 March 2015 at 21:52:35 UTC, Andrei Alexandrescu
wrote:
We're having a strong need for named unittests at Facebook for
multiple reasons.
1. We have sophisticated tooling that verifies whether
unittests are flaky. The automated monitor (for e.g. C++)
figures whether a given unittest fails several times across
several commits. Unittests are identified by name; relying on
file/line is impossible because the line of a failure is not
stable across changes.
2. Again for efficient automated testing and flakiness
detection, one should be able to run only a subset of unittests
by mentioning them by line in the command line. Note that this
implies there's no interdependency between distinct unittests,
which is fine because the new ability is opt-on; I'd say is
pure style anyway.
3. Mentioning unittest names in failure messages helps human
communication (e.g. "AddPeer is failing after your change").
This is impossible with file and line numbers.
I'd like to make a DIP for named unittests. Who can help me
with that?
Andrei