Boost.Test
boost.org
What it is
Boost.Test is a free C++11, C++14, and C++17 library for simple program testing, unit testing, and program execution monitoring. Its BOOST_TEST macro handles comparisons involving floating-point values, collections, and strings. Test cases can self-register and be arranged into suites with fixtures, decorators, labels, dependencies, descriptions, and groups. Documentation also covers data-driven and template cases. Assertion context and configurable logging provide failure diagnostics, while XML and JUNIT logs support third-party and continuous-integration tools. Boost.Test can be used as a header-only, static, or shared library and is distributed under the Boost Software License, Version 1.0. The Boost 1.92.0 release page lists Unix source archives plus Windows source and binary downloads. The library page links documentation, Boost Slack discussion, and GitHub issues, and lists dependencies including Algorithm, Assert, Bind, Config, Core, Exception, and Type Traits. Listed platforms are Linux and Windows. There is no free trial because the software is free.
Spec sheet
- Purpose
- Boost.Test supports simple program testing, full unit testing, and program execution monitoring.Read 9 Oct 2026 · boost.org
- Audience
- The library is intended for C++ developers who need simple program testing, unit testing, or program execution monitoring.Read 4 Oct 2026 · boost.org
- Support
- The FAQ directs users to the Boost Users mailing list and the project's GitHub issues for bug reports and feature requests.Read 9 Oct 2026 · boost.org
- License
- Boost.Test is distributed under the Boost Software License, Version 1.0.Read 9 Oct 2026 · boost.org
- Assertions
- Its BOOST_TEST assertion macro handles floating-point values, collections, and strings with appropriate comparison methods.Read 9 Oct 2026 · boost.org
- Data-driven tests
- The library supports extensible dataset tests.Read 9 Oct 2026 · boost.org
- Dependencies
- The library page lists Boost dependencies including Algorithm, Assert, Bind, Config, Core, Exception, and Type Traits.Read 4 Oct 2026 · boost.org
- Diagnostics
- The library supports assertion context for failure diagnostics and configurable logging.Read 4 Oct 2026 · boost.org
- Download
- The Boost 1.92.0 release page offers Unix source archives and Windows source and binary downloads.Read 4 Oct 2026 · boost.org
- Downloads
- The Boost release page lists Unix source archives and Windows source archives and binaries.Read 9 Oct 2026 · boost.org
- Integration options
- The framework offers header-only, static-library, and shared-library usage variants.Read 9 Oct 2026 · boost.org
- Language
- Boost.Test is a C++11/14/17 unit testing library.Read 9 Oct 2026 · boost.org
- Output and automation
- It supports extensible logging and XML and JUnit output formats for use with third-party tools, including continuous integration.Read 9 Oct 2026 · boost.org
- Output formats
- It provides XML and JUNIT log formats for use with third-party tools, including continuous integration tools.Read 4 Oct 2026 · boost.org
- Test metadata
- Decorations can add descriptions, groups or labels, and dependencies to test cases and suites.Read 9 Oct 2026 · boost.org
- Test organization
- It supports self-registering test cases, test suites, and fixtures applied to cases, suites, or globally.Read 9 Oct 2026 · boost.org
- Thread safety limitation
- Boost.Test currently has no synchronization mechanisms to prevent races when multiple threads call assertion macros.Read 9 Oct 2026 · boost.org
- Usage variants
- Boost.Test can be used as a shared library, static library, or header-only library.Read 4 Oct 2026 · boost.org
Plans and prices
Strong points and limits
Strong points
- Supports C++11, C++14, and C++17
- Header-only, static, or shared usage
- XML and JUNIT output formats
- Data-driven and template test cases
- Boost Software License, Version 1.0
Limits
- No synchronization for concurrent assertion macros
- Listed platforms are Linux and Windows
- Boost dependencies are listed
- No free trial offered
Who it suits
Boost.Test is for C++ developers who need unit tests, simple program checks, execution monitoring, or continuous-integration output. It suits projects that can use Linux or Windows and Boost’s library forms.
Verdict
Boost.Test provides broad C++ test organization, diagnostics, and automation output in several integration forms. Projects with concurrent assertion calls should account for its stated synchronization limitation.
Where Specifiction places it
- Unit Testing Frameworks#3 of 328.3
- Unit Testing#4 of 328.3