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

Reply via email to