A lightweight unit testing framework for C++
Find a file
2021-12-06 12:21:29 +13:00
builds Add 'empty' builds directory per the wiki. (The folder is not actually empty as it includes a .gitignore.) 2013-05-09 07:17:00 -05:00
cmake Add support for CMake find_package() 2016-03-15 12:14:19 +00:00
docs@a6963b7984 Update docs reference to avoid bad path names on windows 2016-10-11 13:00:40 -07:00
m4 Enable C++11 support in autoconf 2016-02-23 21:44:25 -06:00
tests Build with Forge v0.0.x 2021-12-06 12:21:29 +13:00
UnitTest++ Build with Forge v0.0.x 2021-12-06 12:21:29 +13:00
.gitattributes Add *.bat as eol=crlf. 2013-03-24 01:31:40 -05:00
.gitignore Add pkg config file (with help from Vicente Adolfo Bolea Sánchez) 2015-09-22 08:34:51 +02:00
.gitmodules Update docs, versions for 1.6.0. 2016-02-29 22:32:58 -06:00
.travis.yml Add tiny comment change to trigger Travis. 2015-07-14 20:49:26 -05:00
.uncrustify Tweak preprocessor blocks. 2016-01-29 22:48:36 -06:00
appveyor.yml Version made explicitly 3 parts 2019-10-17 08:23:46 -05:00
AUTHORS Update AUTHORS and configure.ac 2014-12-19 11:51:26 -06:00
autogen.sh Added autogen.sh file to ease autotools installation 2017-05-22 00:22:38 +09:00
CMakeLists.txt Added Namespace to Exported Target 2020-04-07 18:07:24 -05:00
configure.ac Version made explicitly 3 parts 2019-10-17 08:23:46 -05:00
forge.lua Build with Forge v0.0.x 2021-12-06 12:21:29 +13:00
INSTALL Add note re: autotools to INSTALL file 2017-01-13 14:51:19 -06:00
LICENSE Rename COPYING to LICENSE; delete NEWS since it was empty anyway. 2013-02-20 22:59:01 -06:00
Makefile.am Add pkg config file (with help from Vicente Adolfo Bolea Sánchez) 2015-09-22 08:34:51 +02:00
README.md Extend hiatus to 26 November 2020-11-12 23:26:38 -06:00
UnitTest++.pc.in Add pkg config file (with help from Vicente Adolfo Bolea Sánchez) 2015-09-22 08:34:51 +02:00
unittest-cpp.forge Build with Forge v0.0.x 2021-12-06 12:21:29 +13:00

Maintenance of UnitTest++, recently sporadic, is officially on hiatus until 26 November 2020. Subscribe to https://github.com/unittest-cpp/unittest-cpp/issues/180 for updates.

Build Status Build status

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 mostly standard C++ and makes minimal use of advanced library and language 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 automake files, UnitTest++ is primarily built and supported using CMake.

Downloading

Latest (HEAD)

Via git:

git clone https://github.com/unittest-cpp/unittest-cpp

Via svn:

svn checkout https://github.com/unittest-cpp/unittest-cpp/trunk unittest-cpp

Latest release (v2.0.0)

Via git:

git clone https://github.com/unittest-cpp/unittest-cpp
cd unittest-cpp
git checkout v2.0.0

Via svn:

svn checkout https://github.com/unittest-cpp/unittest-cpp/tags/v2.0.0 unittest-cpp

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

  • Jim Tilander
  • Kim Grasman
  • Jonathan Jansson
  • Dirck Blaskey
  • Rory Driscoll
  • Dan Lind
  • Matt Kimmel -- Submitted with permission from Blue Fang Games
  • Anthony Moralez
  • Jeff Dixon
  • Randy Coulman
  • Lieven van der Heide

Historic release notes

Version 2.0.0 (2017-01-13)

  • Change Check method supporting CHECK macro to accept argument by reference
  • Introduce long macro forms (e.g. UNITTEST_CHECK); make short forms optional
  • Improved Visual Studio 2015 support
  • Full List

Version 1.6.0 (2016-02-29)

  • Add REQUIRE macro to end tests early when selected checks fail
  • Full List

Version 1.5.1 (2016-01-30)

  • pkg-config support
  • Fix for Visual Studio 2010 compilation issue in 1.5.0
  • Full List

Version 1.5 (2015-11-04)

  • Visual Studio 2015 support
  • CMake-based build management
  • Integration of SourceForge and Google Code versions of the project
  • Full List

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

Version 1.0 (2006-03-15)

  • Initial release