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.
[edit] 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.
 
[edit] Languages
| Name | 
xUnit | 
Remarks | 
| FlexUnit | 
 | 
 | 
| Reflex Unit | 
 | 
Metadata-driven unit testing framework for Flex 2 and 3 | 
| FUnit | 
Yes | 
Metadata-driven unit testing for Flex | 
| AS2Unit | 
 | 
 | 
| Astre | 
 | 
Unit testing library for ActionScript 3. | 
| ASTUce | 
Yes | 
Unit testing for ActionScript 3 (also JS, AS1, AS2), that can also run on the command-line with a cross-platform executable (support OS X / Linux / Windows) | 
| AsUnit | 
 | 
Flash Players 6, 7, 8 and 9 | 
| As2lib Unit Test | 
 | 
 | 
| dpUInt | 
 | 
Unit and Integration testing framework for Flex 2 and 3 | 
| Fluint | 
 | 
Unit and Integration testing framework for Flex 2 and 3 | 
| mojotest | 
Yes | 
Unit testing for ActionScript 3, Flash Player 10 | 
| 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). Supports NT kernel mode as well. | 
| Cgreen | 
 | 
includes mocks | 
| Check | 
Yes | 
 | 
| Cmockery | 
Yes | 
Google sponsored project. | 
| CUnit | 
Yes | 
 | 
| CUnitWin32 | 
Yes | 
For Win32. Minimalistic framework. Executes each test as a separate process. | 
| CUT | 
No | 
 | 
| CuTest | 
Yes | 
Simple, straighforward, fast. Single .c file. Used in the Apache Portable Runtime Library. | 
| Cutter | 
Yes | 
A Unit Testing Framework for C. | 
| EmbeddedUnit | 
 | 
Embedded C | 
| GLib Testing | 
Yes | 
Part of GLib | 
| 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 | 
| Test Dept. | 
Yes | 
Can modify calls from software under test; e.g. test error conditions by stubbing malloc and letting it return null. Well documented | 
| 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 | 
See .NET Programming languages below.
| 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++ Mocking Framework | 
 | 
 | 
 | 
 | 
Yes | 
No | 
Yes | 
Yes | 
 | 
 | 
| 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 | 
 | 
 | 
 | 
 | 
 | 
Yes | 
Yes | 
 | 
 | 
Depends on STLSoft C++ Libraries | 
| Yaktest | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| Name | 
xUnit | 
Fixtures | 
Group fixtures | 
Generators | 
Mocks | 
Exceptions | 
Macros | 
Templates | 
Grouping | 
Remarks | 
| Name | 
xUnit | 
Fixtures | 
Group Fixtures | 
Generators | 
Remarks | 
| EUnit | 
Yes | 
Yes | 
Yes | 
Yes | 
Included in Erlang release R12B5 and later | 
| 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 | 
| LabVIEW Unit Test Framework | 
No | 
Generate test harnesses for VIs in LabVIEW automatically. | 
| VI Tester | 
Yes | 
native LabVIEW object-oriented implementation of xUnit framework. Unit tests are written as VIs in LabVIEW. | 
| 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 | 
| MTest | 
Yes | 
MATLAB r2008a and later (uses OOP features introduced in this release). | 
[edit] .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 | 
| MSTest | 
Yes | 
Included with Visual Studio 2005 Team Edition and all 2008 editions, integrated with Visual Studio IDE, includes command line interface, very similar to NUnit, but less mature | 
| MbUnit | 
Yes | 
Extensible, model-based nUnit compatible framework. | 
| TestDriven.NET | 
 | 
 | 
| .TEST | 
Yes | 
 | 
| 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 | 
| Pex | 
Yes | 
Microsoft Research project providing White box testing for .NET, using the Z3 constraint solver to generate unit test input (rather than Fuzzing). | 
| 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-DBUnit | 
N/A | 
Yes | 
The database testing modules for both clear box and black box testing | 
| 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 | 
For unit testing frameworks for VB.NET, see the .NET programming languages section.
| Name | 
xUnit | 
Remarks | 
| 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) | 
| 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 | 
[edit] See also
Unit testing in general:
Extreme programming approach to unit testing:
[edit] External links