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.
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
ABAP
ActionScript / Flex
Ada
AppleScript
Name
xUnit
Remarks
ASUnit
Yes
Testing framework for AppleScript, influenced by SUnit, ASTest and Python unittest
ASTest
Yes
A testing framework for AppleScript
BPEL
C
C++
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
No
No
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/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 or 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
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
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.
Name
xUnit
Fixtures
Group fixtures
Generators
Mocks
Exceptions
Macros
Templates
Grouping
Remarks
Cg
ColdFusion (CFML)
Common Lisp
Delphi
Emacs Lisp
Fortran
GLSL
Groovy
Haskell
HLSL
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.
Java
JavaScript
Lasso
LaTeX
Lua
MATLAB
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
MySQL
.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
Objective-C
Ocaml
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
Perl
PHP
PL/SQL
PostgreSQL
Name
xUnit
Remarks
PGtools
Schema loading and testing tools for PostgreSQL.
PowerBuilder
Prolog
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
REALbasic
Ruby
SAS
Name
xUnit
Remarks
FUTS
Yes
the Framework for Unit Testing SAS
Scala
Scheme
Shell
Simulink
Smalltalk
Name
xUnit
Remarks
SUnit
Yes
It's actually the original source of the xUnit design
SQL
Tcl
TinyOS/nesC
Name
xUnit
Remarks
TUnit
Yes
Embedded multi-platform wireless testing and characterization
Transact-SQL
Visual FoxPro
Visual Basic
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
XML
Name
xUnit
Remarks
XUnit
for testing
native XML programs,
individual XSLT templates,
and Java programs that deal with XML data
XSLT
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