List of unit testing frameworks

This is a list of notable test automation frameworks commonly used for unit testing. Such frameworks are not limited to unit-level testing; can be used for integration and system level testing.

Frameworks are grouped below. For unit testing, a framework must be the same language as the source code 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 tasks.

AppleScript

For AppleScript.

ASCET

Bash

BASIC

Visual Basic (VB6.0)

For unit testing frameworks for VB.NET, see .NET languages.

Xojo (REALbasic)

Business Process Execution Language (BPEL)

C

C#

See .NET 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 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

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

Tcl

TinyOS, nesC

TypeScript

VHSIC Hardware Description Language (VHDL)

Visual FoxPro

XML (Extensible Markup Language)

Extensible Stylesheet Language Transformations (XSLT)

See also

References

Uses material from the Wikipedia article List of unit testing frameworks, released under the CC BY-SA 4.0 license.