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.
- 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
[edit] ActionScript / Flex
[edit] AppleScript
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) |
|
|
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 |
|
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 |
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 |
No |
No |
Yes |
No |
Yes |
User decision |
Yes |
Suites |
Part of Boost |
C++test |
Yes |
No |
No |
Yes |
No |
Yes |
Yes |
Yes |
Yes |
|
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/moin.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. |
CuTest |
Yes |
Yes |
No |
No |
No |
No |
|
|
Suites |
CuTest (C Unit Testing). Simple, straighforward, fast. Single .c file. Used in the Apache Portable Runtime Library. |
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 |
hestia |
No |
Yes |
Yes |
No |
No |
Yes |
Yes |
No |
Suites |
This open source framework can test servers, libraries, and applications, Unlike most other frameworks, it can also test embedded software. It can send output to html, text, xml, standard error, standard output, or other output. |
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++ |
|
|
|
|
|
|
|
|
|
|
Yaktest |
|
|
|
|
|
|
|
|
|
|
[edit] ColdFusion (CFML)
Name |
xUnit |
Remarks |
CFUnit |
|
|
cfcUnit |
Yes |
|
MXUnit |
Yes |
Unit Test Framework and Eclipse Plugin for CFMX |
[edit] Common Lisp
[edit] Delphi
[edit] Emacs Lisp
[edit] Fortran
[edit] Groovy
[edit] Haskell
[edit] Internet
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. |
[edit] JavaScript
[edit] MATLAB
Name |
xUnit |
Remarks |
mlUnit |
Yes |
|
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. |
[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 |
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 |
[edit] Objective-C
Name |
xUnit |
Remarks |
PRUnit |
Yes |
xUnit style testing adapted to PRPC |
[edit] PL/SQL
[edit] PostgreSQL
Name |
xUnit |
Remarks |
PGtools |
|
Schema loading and testing tools for PostgreSQL. |
[edit] PowerBuilder
[edit] Prolog
[edit] Python
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 |
[edit] REALbasic
Name |
xUnit |
Remarks |
FUTS |
Yes |
the Framework for Unit Testing SAS |
[edit] Scheme
[edit] Simulink
[edit] Smalltalk
Name |
xUnit |
Remarks |
SUnit |
Yes |
It's actually the original source of the xUnit design |
[edit] TinyOS/nesC
Name |
xUnit |
Remarks |
TUnit |
Yes |
Embedded multi-platform wireless testing and characterization |
[edit] Transact-SQL
[edit] Visual FoxPro
[edit] Visual Basic
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) |
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
|
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