Boost logo

Boost :

From: Raffi Enficiaud (raffi.enficiaud_at_[hidden])
Date: 2019-11-24 19:15:14

On 24.11.19 19:26, Krzysztof Jusiak via Boost wrote:
> I see your point, but I'm not advocating here for providing multiple ways
> of doing the same thing as I agree it might be confusing although I'd also
> argue that it's already a case with boost.test for example (single
> header/static/shared library or BOOST_TEST, BOOST_CHECK, BOOST_CHECK_EQ
> accomplish pretty much the same things but there are also a trade-offs here
> so it depends)

For info, BOOST_TEST does everything (and more):

"BOOST_TEST: universal and general purpose assertions"

The other macros are mostly kept for C++03 compilers and compatibility.
For the header/static/shared, this is beyond C++ itself, and IMO this is
needed when you want to address various code bases, although it creates
a lot of confusion on the users' side.

Don't get me wrong, I have nothing against or in favor of the UT library.

Since we are talking about "standard" way of testing C++ code, here are
some properties I believe are common or established [*]:

* reporting in various formats, actionable runtime, including the ones
that are understood by CI
* floating point comparison
* xUnit type of testing (fixture, suites, cases)
* "robust" to various type of exceptions

All the rest is bonus.


[*] I have not checked what UT provides, I am a user of Boost.Test and

Boost list run by bdawes at, gregod at, cpdaniel at, john at