At 12:37 PM 6/10/2003, Jon Stewart wrote:
I am not that big expert in CppUnit. If you could provide a feature list for CppTest I may do feature by feature comparison. But from what I view after perfunctory look on docs the feature lists seems incomparable. Though again I may be wrong.
Hi Gennadiy,
I'd be happy to provide you with a feature list. It may take a day or two.
Boost typically provides libraries that beat the pants off anything else out there, and I'm sure that you're working to make Boost::Test the best unit testing framework available for C++. However, unlike many of the other libraries that Boost provides, a reasonably functional and popular substitute (CppUnit) existed. I'm curious as to what led you to write your own rather than contribute to CppUnit and try to get it incorporated into
Boost (similar to how Spirit was incorporated)? Do you have different design goals for Boost::Test?
Gennadiy took over an existing library, and then contributed a seriously major upgrade supporting full unit testing (while still preserving simpler forms of testing when appropriate). And that is one of the major advantages of Boost.Test compared to packages that were available at the time we started the initial design. The three levels of use that Boost.Test supports are: -- Execution monitoring - this isn't really "testing" functionality, but rather is a tremendous help for production programs. It it unifies several disparate error reporting mechanisms, and permits unattended operation. I can't imagine putting a job into overnight production use without Boost.Test execution monitoring. -- Simple test scenarios. Not all testing needs a full unit-test suite. Boost.Tests' test tools do a really nice job for light or medium duty testing. Minimal learning curve. -- Full unit-test. Heavier-duty testing to meet heavier-duty needs. Lot's of test packages attack this level, but leave you hanging for the lower levels. In a way, the whole of Boost.Build and the Boost regression testing system are yet another layer which fits nicely on top of the Boost.Test layers. So that's a bit of background. In a nutshell, Boost.Test servers a whole hierarchy of needs. --Beman