This is a list of notable
test automation frameworks commonly used for
unit testing
Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior.
Unit testing describes tests that are run at the unit-level to contrast testing at the Integration ...
. Such frameworks are not limited to unit-level testing; can be used for
integration and
system
A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its open system (systems theory), environment, is described by its boundaries, str ...
level testing.
Frameworks are grouped below. For unit testing, a framework must be the same language as the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
under test, and therefore, grouping frameworks by language is valuable. But some groupings transcend language. For example, .NET groups frameworks that work for any language supported for .NET, and HTTP groups frameworks that test an HTTP server regardless of the implementation language on the server.
Columns
The columns in the tables below are described here.
* Name: Name of the framework
* xUnit: Whether classified as
xUnit
* TAP: Whether can emit
Test Anything Protocol (TAP) output
* Generators: Whether supports
data generators generating test input data and running a test with the generated data
* Fixtures: Whether supports test local fixtures associating a test environment with a single test
* Group fixtures: Whether supports group fixtures associating a test environment with a group of tests
Some columns do not apply to some groupings and are therefore omitted from that groupings table.
Groups
ABAP
Active Server Pages (ASP)
Ada
Ant
For
Apache Ant
Apache Ant is a software tool for automating software build processes for Java applications which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implement ...
tasks.
AppleScript
For
AppleScript
AppleScript is a scripting language created by Apple Inc. that facilitates automated control of Mac applications. First introduced in System 7, it is currently included in macOS in a package of automation tools. The term ''AppleScript'' may ...
.
ASCET
Bash
BASIC
Visual Basic (VB6.0)
For unit testing frameworks for VB.NET, see
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
languages.
Xojo (REALbasic)
Business Process Execution Language (BPEL)
C
C#
See
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
languages below.
C++
C for Graphics (Cg)
COBOL
ColdFusion (CFML)
Crystal
Curl
DataFlex
Delphi
ECMAScript
ActionScript, Apache Flex
Haxe
JavaScript
Erlang
F#
Fortran
MPI column: Whether supports message passing via MPI - commonly used for high-performance scientific computing
Go
Groovy
All entries under
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
may also be used in Groovy.
Haskell
High-Level Shader Language (HLSL)
Identity management
IGOR Pro
Interactive Data Language (IDL)
HTTP request
Java
LabVIEW
Lasso
LaTeX
Lisp
AutoLISP, Visual Lisp
Clojure
Common Lisp
Emacs Lisp
Racket
Scheme
Lua
MATLAB
.NET
Object Pascal, Free Pascal
Delphi
Objective-C
OCaml
PegaRULES Process Commander
Perl
PHP
PowerBuilder
PowerShell
OpenEdge Advanced Business Language (ABL), Progress 4GL
Prolog
Logtalk
Puppet
Python
R
Rebol
RPG
Ruby
SAS (Statistical Analysis System)
Scala
Scilab
Shell
Simulink
Smalltalk
Structured Query Language (SQL), Database procedural languages
SQL
MySQL
Procedural Language for SQL (PL/SQL)
IBM Db2 SQL PL
PostgreSQL
Transact-SQL
Swift
SystemVerilog
TargetLink
Tcl
TinyOS, nesC
TypeScript
VHSIC Hardware Description Language (VHDL)
Visual FoxPro
XML (Extensible Markup Language)
Extensible Stylesheet Language Transformations (XSLT)
See also
*
*
*
*
*
*
*
*
References
{{Reflist
*