UnitTest++ is a lightweight unit testing framework for C++. It was designed to do test-driven development on a wide variety of platforms. Simplicity, portability, speed, and small footprint are all very important aspects of UnitTest++. UnitTest++ is ANSI portable C++ and makes minimal use of advanced library and languages features, which means it should be easily portable to just about any platform. Out of the box, the following platforms are supported:
Windows
Linux
Mac OS X
Documentation
The full documentation for building and using UnitTest++ can be found on the GitHub wiki page. The contents of this wiki are also included as a git submodule under the docs folder, so version-specific Markdown documentation is always available along with the download.
Pre-requisites
While there are currently some bundled makefiles and projects, UnitTest++ is primarily built and supported using CMake.
UnitTest++ is free software. You may copy, distribute, and modify it under
the terms of the License contained in the file LICENSE distributed
with this package. This license is the same as the MIT/X Consortium
license.
Matt Kimmel – Submitted with permission from Blue Fang Games
Anthony Moralez
Jeff Dixon
Randy Coulman
Lieven van der Heide
Historic release notes
Version 1.4 (2008-10-30)
CHECK macros work at arbitrary stack depth from inside TESTs.
Remove obsolete TEST_UTILITY macros
Predicated test execution (via TestRunner::RunTestsIf)
Better exception handling for fixture ctors/dtors.
VC6/7/8/9 support
Version 1.3 (2007-4-22)
Removed dynamic memory allocations (other than streams)
MinGW support
Consistent (native) line endings
Minor bug fixing
Version 1.2 (2006-10-29)
First pass at documentation.
More detailed error crash catching in fixtures.
Standard streams used for printing objects under check. This should allow the
use of standard class types such as std::string or other custom classes with
stream operators to ostream.
Standard streams can be optionally compiled off by defining UNITTEST_USE_CUSTOM_STREAMS
in Config.h
Added named test suites
Added CHECK_ARRAY2D_CLOSE
Posix library name is libUnitTest++.a now
Floating point numbers are postfixed with ‘f’ in the failure reports
Version 1.1 (2006-04-18)
CHECK macros do not have side effects even if one of the parameters changes state
Removed CHECK_ARRAY_EQUAL (too similar to CHECK_ARRAY_CLOSE)
Added local and global time constraints
Removed dependencies on strstream
Improved Posix signal to exception translator
Failing tests are added to Visual Studio’s error list
Fixed Visual Studio projects to work with spaces in directories
UnitTest++
UnitTest++ is a lightweight unit testing framework for C++. It was designed to do test-driven development on a wide variety of platforms. Simplicity, portability, speed, and small footprint are all very important aspects of UnitTest++. UnitTest++ is ANSI portable C++ and makes minimal use of advanced library and languages features, which means it should be easily portable to just about any platform. Out of the box, the following platforms are supported:
Documentation
The full documentation for building and using UnitTest++ can be found on the GitHub wiki page. The contents of this wiki are also included as a git submodule under the
docsfolder, so version-specific Markdown documentation is always available along with the download.Pre-requisites
While there are currently some bundled makefiles and projects, UnitTest++ is primarily built and supported using CMake.
Downloading
Latest (HEAD)
Via git:
Via svn:
Latest release (v1.4)
Via git:
Via svn:
License
UnitTest++ is free software. You may copy, distribute, and modify it under the terms of the License contained in the file LICENSE distributed with this package. This license is the same as the MIT/X Consortium license.
Contributors
GitHub Contributor Graph
Current Maintainers:
Original Authors:
Contributors not included in github history
Historic release notes
Version 1.4 (2008-10-30)
Version 1.3 (2007-4-22)
Version 1.2 (2006-10-29)
Version 1.1 (2006-04-18)
Version 1.0 (2006-03-15)