From Wikipedia, the free encyclopedia
This page is a list of tables of code-driven unit testing frameworks for various programming languages . Some of these are based on xUnit , but not all of them are.
Columns
Name : This column contains the name of the framework and will usually link to it.
xUnit : This column indicates whether a framework should be considered of xUnit type.
TAP : This column indicates whether a framework can emit TAP output for TAP-compliant testing harnesses .
Generators : Indicates whether a framework supports data generators . Data generators generate input data for a test and the test is run for each input data that the generator produces.
Fixtures : Indicates whether a framework supports test-local fixtures. Test-local fixtures ensure a specified environment for a single test.
Group fixtures : Indicates whether a framework supports group fixtures. Group fixtures ensure a specified environment for a whole group of Tests
Other columns : These columns indicate whether a specific language / tool feature is available / used by a framework.
Remarks : Any remarks.
Languages
Name
xUnit
Remarks
ASUnit
Yes
Testing framework for AppleScript, influenced by SUnit, ASTest and Python unittest
ASTest
Yes
A testing framework for AppleScript
Name
xUnit
Remarks
Autounit (GNU)
In beta/under construction
C++test
Yes
Catrunner
nice unit testing framework for cross-platform embedded development
cfix
Yes
For Win32. Aims at minimizing development effort. Separates test code (compiled/linked into a DLL) from test runner (provided by cfix).
Cgreen
includes mocks
Check
Yes
Cmockery
Yes
Google sponsored project.
CUnit
Yes
CUT
No
CuTest
Yes
Simple, straighforward, fast. Single .c file. Used in the Apache Portable Runtime Library.
EmbeddedUnit
Embedded C
GUnit
for GNOME
MinUnit
extreme minimalist unit testing using 2 C macros
RCUNIT
Yes
robust C unit
RTRT
TBrun
Tessy
cross-platform testing capabilities
TestApe
Dynamic stub generation during instrumentation
Unity
Yes
Lightweight & includes features for embedded development. Can work with Mocks and Exceptions via CMock and CException .
VectorCAST/C
Automated unit and integration testing, and code coverage
Name
xUnit
Fixtures
Group fixtures
Generators
Mocks
Exceptions
Macros
Templates
Grouping
Remarks
Aeryn
No
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Boost Test Library
No
Yes
No
Yes
No
Yes
User decision
Yes
Suites
Part of Boost
C++test
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Commercial.
Cantata++
No
No
No
No
Yes
Yes
Yes
Commercial. Provides ability to modify calls from software under test; e.g. test error conditions by forcing malloc to return null.
cfix
Yes
Yes
No
No
No
Yes
Yes
No
For Win32. Aims at minimizing development effort. Separates test code (compiled/linked into a DLL) from test runner (provided by cfix).
CppUnit
Yes
Yes
Yes
No
No
Yes
Yes
No
Suites
http://cppunit.sourceforge.net/cgi-bin/main.cgi
CppUTest
Yes
Yes
Yes
No
No
No
Yes
No
Suites
CppUnitLite
Yes
No
No
No
Yes
No
Suites
CUTE
Yes
Yes
No
No
No
Yes
Suites
CUTE (C++ Unit Testing Easier) with Eclipse CDT integration. Single line include, without inheritance.
cutee
No
No
No
Yes
CxxTest
Yes
Yes
Yes
No
Yes*
Optional
Yes
No
Suites
Uses a simple C++ parser and code generator (requiring Perl or Python ) for test registration. * Has a framework for generating mocks of global functions, but not for generating mocks of objects.
Fructose
No
Yes
No
No
No
Yes
Yes
Yes
No
A simple unit test framework. See also Accu
Google C++ Testing Framework
Yes
Yes
No
Yes
Yes
Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, various options for running the tests, and XML test report generation.
hestia
No
Yes
Yes
No
No
Yes
Yes
No
Suites
Open source. Can test servers, libraries, and applications, and also test embedded software.
NanoCppUnit
No
Yes
Yes
No
No
No
Yes
Yes
Suites
Proof-of-concept
OAKUT
No
No
Yes
Yes (XML)
No
Yes
Yes
Yes
XML
Uses shared libraries / DLLs
QuickTest
No
No
No
No
No
Yes
Yes
Yes
No
QUnit
No
No
No
No
No
No
No
No
No
50 lines of code only
ShortCUT
No
Yes
SymbianOSunit
Based on CxxUnit
TBrun
Commercial
Test soon
No
Yes
Yes
Yes
No
Auto-detect
Yes
Yes
Macro (namespaces)
Complex macro logic (deliberately)
Testwell CTA++
Yes
No
No
Yes
No
Yes
Yes
Yes
TUT
No
No
Yes
No
No
Yes
Yes
Yes
Templates
Templates for registration
Unit++
UnitTest
Yes
Yes
No
No
No
Yes
Yes
No
No
Windows C++ UnitTest Framework
UnitTest++
No
Yes
No
No
No
Yes
Yes
Yes
Suites
Release notes
VectorCAST/C++
xTests
Depends on STLSoft C++ Libraries
Yaktest
Name
xUnit
Fixtures
Group fixtures
Generators
Mocks
Exceptions
Macros
Templates
Grouping
Remarks
Name
xUnit
Remarks
GXUnit
Yes
It's a framework (prototype) to perform unit testing for Genexus . You can find the source here
Name
xUnit
Remarks
HtmlUnit
Java headless browser emulator
HttpUnit
testing framework for web applications, typically used in combination with JUnit
IEUnit
testing framework for web applications, based on IE browser and Javascript
Canoo WebTest
Selenium
Testing framework that runs in IE and Firefox to test webpages.
Name
xUnit
Remarks
mlUnit
Yes
Phelan's MUnit
The code is not available for download and an additional license restriction appears to violate the GPL, under which the code is purportedly licensed.
Lombardi's MUnit
Similar to xUnit
.NET programming languages
Name
xUnit
Remarks
csUnit
Yes
includes GUI, command line, VS2005 plug-in; supports C#, VB.NET, Managed C++, J#, other .NET languages; integrated with ReSharper
NUnit
Yes
includes GUI, command line, integrates into VisualStudio with ReSharper
Visual Studio 2005 Team Edition
Includes a comprehensive set of unit testing tools.
MbUnit
Yes
Extensible, model-based nUnit compatible framework.
TestDriven.NET
QuickUnit.net
No
Implement unit tests without coding. Minimalist approach to test driven development.
xUnit.net
Yes
Specter
Yes
Behavior Driven Development with an easy and readable syntax for writing specifications. Includes command line, optional integration with NUnit
DbUnit.NET
NDbUnit
OCZanebug
NUnitAsp
Based on NUnit
NMate
NUnit Integration and Code Generation Addin for Microsoft Visual Studio
Roaster
Yes
NUnit based framework and tools for the .NET Compact Framework
Name
xUnit
Remarks
FPCUnit
Yes
This is a port to Free Pascal of the JUnit core framework.
Name
xUnit
Remarks
PRUnit
Yes
xUnit style testing adapted to PRPC
Name
xUnit
TAP
Remarks
TAP
N/A
Yes
the Test Anything Protocol used by most Perl tests
Test::Harness
N/A
Yes
the standard Perl test runner and TAP parser
Test::More
No
Yes
The baseline testing module, included with all modern Perl installations
Test::Class
Yes
Yes
xUnit style testing adapted to Perl
Test::Builder
N/A
Yes
a module for making more testing modules. These modules can be combined in a single test program
Test::Unit (a.k.a. PerlUnit )
Yes
No
a fairly straight port of JUnit to Perl
Test::Unit::Lite
Yes
Yes (via Test::Unit::HarnessUnit)
Test::Unit replacement without external dependencies and with some bugs fixed
Name
xUnit
TAP
Remarks
PGtools
Schema loading and testing tools for PostgreSQL.
pgTAP
No
Yes
Write tests in pgsql
PGUnit
Yes
No
xUnit-style framework for stored procedures
Name
xUnit
Generators
Fixtures
Group Fixtures
Remarks
PyUnit
Yes
Yes
Yes
No
it's part of Python's standard library
XPyUnit
adding XML report generation to PyUnit
TestOOB
an extended test framework for PyUnit
Doctest
easy, Pythonic , and part of Python's standard library
Nose
Yes
Yes
a discovery-based unittest extension
py.test
Yes
Yes
Yes
Yes
distributed testing tool
Trial
Yes
Yes
Yes
No
PyUnit extensions for asynchronous and event-driven code
Name
xUnit
Remarks
FUTS
Yes
the Framework for Unit Testing SAS
Name
xUnit
Remarks
SUnit
Yes
It's actually the original source of the xUnit design
Name
xUnit
Remarks
TUnit
Yes
Embedded multi-platform wireless testing and characterization
Name
xUnit
Remarks
MSTest
Microsoft Testing Framework
vbUnit
Visual Basic and COM objects
VbaUnit
Visual Basic for Applications
ExcelVbaUnit
Similar to VbaUnit, but specifically for testing Excel VBA (written as an Excel add-in)
csUnit
Yes
Visual Basic .NET; includes GUI, command line, VS2005 plug-in
TinyUnit
Visual Basic 6, VB .NET, and PHP5
SimplyVBUnit
Yes
VB6 Unit Testing Framework modeled after the popular NUnit for .NET
Name
xUnit
Remarks
XUnit
for testing
native XML programs,
individual XSLT templates,
and Java programs that deal with XML data
WUnit
for testing Web applications
tests are written in XML/XPath (XUnit),
AJAX applications are supported,
can also test server-side functionalities if they are made with Java servlets (for example, it is possible to store authoritatively an object in the user session server-side without sending an HTTP request and then get with HTTP the page that renders it)
Name
xUnit
Remarks
juxy
a library for unit testing XSLT stylesheets from Java
UTF-X
unit testing framework for XSLT that strongly supports the test-first-design principle with test rendition and test validation features
XSLTunit
proof of concept unit testing framework for XSLT
Other
See also
Unit testing in general:
Extreme programming approach to unit testing:
External links