List of unit testing frameworks
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
Name | xUnit | Remarks |
---|---|---|
FlexUnit | ||
AS2Unit | ||
AsUnit | Flash Players 6, 7, 8 and 9 | |
As2lib Unit Test |
[edit] Ada
Name | xUnit | Remarks |
---|---|---|
AUnit | ||
TBrun |
[edit] BPEL
Name | xUnit | Remarks |
---|---|---|
BPELUnit |
[edit] C
Name | xUnit | Remarks |
---|---|---|
GNU Autounit | ||
Check | Yes | |
CUnit | Yes | |
CUT | No | |
GUnit | for GNOME | |
MinUnit | ||
TBrun | ||
Cgreen | includes mocks | |
CuTest | cute unit testing | |
EmbeddedUnit | Embedded C |
[edit] C++
Name | xUnit | Fixtures | Group fixtures | Generators | Mocks | Exceptions | Macros | Templates | Grouping | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
Boost Test Library | No | No | No | Yes | No | Yes | User decision | Yes | Suites | Part of Boost |
C++test | ||||||||||
CPPUnit | Yes | Yes | Yes | No | No | No | Yes | No | Suites | http://cppunit.sourceforge.net/cgi-bin/moin.cgi |
CppUnitTest | No | No | No | No | No | Yes | Yes | No | Suites | http://sourceforge.net/projects/cppunittest/ |
CppUnitLite | Yes | No | No | No | Yes | No | Suites | |||
cxxtest | Yes | Yes | Yes | No | Yes | Optional | Yes | No | Suites | Uses a simple C++ parser and code generator for test registration. Code generators in Perl and Python. |
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 |
TBrun | Commercial | |||||||||
SymbianOSunit | Based on CxxUnit | |||||||||
Test soon | No | Yes | Yes | Yes | Not yet | Auto-detect | Yes | Yes | Macro (namespaces) | Complex macro logic |
TUT | No | No | Yes | No | No | Yes | Yes | Yes | Templates | Templates for registration |
Unit++ | ||||||||||
UnitTest++ | No | Yes | No | No | Yes | Yes | Yes | Yes | Suites | Release notes |
[edit] ColdFusion (CFML)
Name | xUnit | Remarks |
---|---|---|
CFUnit | ||
cfcUnit | Yes |
[edit] Delphi
Name | xUnit | Remarks |
---|---|---|
DUnit | ||
DUnit | at SourceForge |
[edit] Emacs Lisp
Name | xUnit | Remarks |
---|---|---|
ElUnit |
[edit] Fortran
Name | xUnit | Remarks |
---|---|---|
fUnit | ||
FRUIT |
[edit] Haskell
Name | xUnit | Remarks |
---|---|---|
HUnit |
[edit] Internet
Name | xUnit | Remarks |
---|---|---|
HtmlUnit | ||
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 |
[edit] Java
Name | xUnit | Remarks |
---|---|---|
JTiger | ||
JUnit | Yes | |
DBUnit | a JUnit extension to perform unit testing with database-driven programs | |
JUnitEE | a JUnit extension for testing Java EE applications | |
GroboUtils | a JUnit extension providing Automated documentation, class hierarchy unit testing, code coverage, and multi-threaded tests. | |
TestNG |
[edit] JavaScript
Name | xUnit | Remarks |
---|---|---|
JSUnit | ||
Crosscheck | ||
J3Unit | ||
JSNUnit |
[edit] Lasso
Name | xUnit | Remarks |
---|---|---|
L-Unit |
[edit] MATLAB
Name | xUnit | Remarks |
---|---|---|
mlUnit | Yes | |
MUnit: Matlab Unit Testing | 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] MySQL
Name | xUnit | Remarks |
---|---|---|
utMySQL |
[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 | |
Visual Studio 2005 Team Edition | includes a comprehensive set of unit testing tools | |
MbUnit |
[edit] Objective-C
Name | xUnit | Remarks |
---|---|---|
ObjcUnit | ||
OCUnit | ||
UnitKit | ||
OCZanebug | ||
WOTest |
[edit] Ocaml
Name | xUnit | Remarks |
---|---|---|
OUnit | Based on HUnit, which is based on JUnit | |
TestSimple | Generates TAP | |
FORT |
[edit] PegaRULES Process Commander
Name | xUnit | Remarks |
---|---|---|
PRUnit |
[edit] Perl
Name | xUnit | Remarks |
---|---|---|
TAP | the Test Anything Protocol used by most Perl tests | |
Test::Harness | the standard Perl test runner and TAP parser | |
Test::More | included with all modern Perl installations | |
Test::Class | Yes | xUnit style testing adapted to Perl |
Test::Builder | a module for making more testing modules | |
Test::Unit (a.k.a. PerlUnit) | Yes | a fairly straight port of JUnit to Perl |
[edit] PHP
Name | xUnit | Remarks |
---|---|---|
PHPUnit | Yes | |
SimpleTest SimpleTest | ||
Testilence | Yes | |
Code Igniter |
[edit] PL/SQL
Name | xUnit | Remarks |
---|---|---|
utPLSQL | ||
Quest Code Tester for Oracle | a complete Pl/SQL testing tool from the makers of Toad and Steven Feuerstein | |
pl/unit |
[edit] PowerBuilder
Name | xUnit | Remarks |
---|---|---|
PBUnit |
[edit] Prolog
Name | xUnit | Remarks |
---|---|---|
PlUnit |
[edit] Python
Name | xUnit | Remarks |
---|---|---|
PyUnit | ||
XPyUnit | adding XML report generation to PyUnit | |
TestOOB | an extended test framework for PyUnit | |
Doctest | ||
Nose | a discovery-based unittest extension | |
py.test |
[edit] REALbasic
Name | xUnit | Remarks |
---|---|---|
RBUnit | No |
[edit] Ruby
Name | xUnit | Remarks |
---|---|---|
Test::Unit | Yes | |
RSpec | Behaviour-driven development framework |
[edit] SAS
Name | xUnit | Remarks |
---|---|---|
FUTS | the Framework for Unit Testing SAS |
[edit] Scala
Name | xUnit | Remarks |
---|---|---|
Rehersal | with JMock like Expectations and natural language test names |
[edit] Shell
Name | xUnit | Remarks |
---|---|---|
ShUnit | No longer actively maintained | |
shUnit2 | Originally developed for log4sh |
[edit] Simulink
Name | xUnit | Remarks |
---|---|---|
slUnit |
[edit] Smalltalk
Name | xUnit | Remarks |
---|---|---|
SUnit |
[edit] SQL
Name | xUnit | Remarks |
---|---|---|
SQLUnit | ||
Visual Studio Team Edition for Database Professionals |
[edit] Tcl
Name | xUnit | Remarks |
---|---|---|
tcltest |
[edit] Transact-SQL
Name | xUnit | Remarks |
---|---|---|
TSQLUnit | ||
Visual Studio Team Edition for Database Professionals |
[edit] Visual FoxPro
Name | xUnit | Remarks |
---|---|---|
FoxUnit |
[edit] Visual Basic
Name | xUnit | Remarks |
---|---|---|
vbUnit | for Visual Basic and COM objects | |
VbaUnit | for Visual Basic for Applications | |
ExcelVbaUnit | for Excel VBA | |
csUnit | Yes | for Visual Basic .NET; includes GUI, command line, VS2005 plug-in |
[edit] XML
Name | xUnit | Remarks |
---|---|---|
XUnit | for testing |
[edit] XSLT
Name | xUnit | Remarks |
---|---|---|
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] Other
Name | xUnit | Remarks |
---|---|---|
Test Manager | ||
IdMUnit | yes | Identity management |
[edit] See also
Unit testing in general:
Extreme programming approach to unit testing: