List of unit testing frameworks
From Infogalactic: the planetary knowledge core
This page is a list of tables of code-driven unit testing frameworks for various programming languages. Some but not all of these are based on xUnit.
Contents
- 1 Columns (Classification)
- 2 Languages
- 2.1 ABAP
- 2.2 ActionScript / Adobe Flex
- 2.3 Ada
- 2.4 AppleScript
- 2.5 ASCET
- 2.6 ASP
- 2.7 BPEL
- 2.8 C
- 2.9 C#
- 2.10 C++
- 2.11 Caché ObjectScript
- 2.12 Cg
- 2.13 CFML (ColdFusion)
- 2.14 Clojure
- 2.15 Cobol
- 2.16 Common Lisp
- 2.17 Curl
- 2.18 Delphi
- 2.19 Emacs Lisp
- 2.20 Erlang
- 2.21 Fortran
- 2.22 F#
- 2.23 Groovy
- 2.24 Genexus
- 2.25 Haskell
- 2.26 Haxe
- 2.27 HLSL
- 2.28 ITT IDL
- 2.29 Internet
- 2.30 Java
- 2.31 JavaScript
- 2.32 Lasso
- 2.33 LaTeX
- 2.34 LabVIEW
- 2.35 LISP
- 2.36 Logtalk
- 2.37 Lua
- 2.38 MATLAB
- 2.39 .NET programming languages
- 2.40 Objective-C
- 2.41 OCaml
- 2.42 Object Pascal (Free Pascal)
- 2.43 PegaRULES Process Commander
- 2.44 Perl
- 2.45 PHP
- 2.46 PowerBuilder
- 2.47 Progress 4GL
- 2.48 Prolog
- 2.49 Python
- 2.50 R programming language
- 2.51 Racket
- 2.52 REALbasic
- 2.53 Rebol
- 2.54 RPG
- 2.55 Ruby
- 2.56 SAS
- 2.57 Scala
- 2.58 Scilab
- 2.59 Scheme
- 2.60 Shell
- 2.61 Simulink
- 2.62 Smalltalk
- 2.63 SQL and Database Procedural Languages
- 2.64 Swift
- 2.65 SystemVerilog
- 2.66 TargetLink
- 2.67 Tcl
- 2.68 TinyOS/nesC
- 2.69 TypeScript
- 2.70 VHDL
- 2.71 Visual FoxPro
- 2.72 Visual Basic (VB6.0)
- 2.73 Visual Lisp
- 2.74 XML
- 2.75 XSLT
- 2.76 Other
- 3 See also
- 4 References
- 5 External links
Columns (Classification)
- 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.
- TAP: This column indicates whether a framework can emit TAP output for TAP-compliant testing harnesses.
- 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
- MPI: Indicates whether a framework supports message passing via MPI - commonly used for high-performance scientific computing.
- Other columns: These columns indicate whether a specific language / tool feature is available / used by a framework.
- Remarks: Any remarks.
Languages
ABAP
Name | xUnit | Source | Remarks |
---|---|---|---|
ABAP Unit | Yes | [1] | since SAP NetWeaver 2004 |
ActionScript / Adobe Flex
Name | xUnit | Source | Remarks |
---|---|---|---|
FlexUni | [2] | ||
FlexUnit 4 | Yes | [3] | Metadata-driven unit testing for Flex 2,3 and 4 and ActionScript 3 projects |
Reflex Unit | [4] | Metadata-driven unit testing framework for Flex 2 and 3 | |
ASTUce | Yes | [5] | Unit testing for ActionScript 3 (also JavaScript, ActionScript 1, ActionScript 2), that can also run on the command-line with a cross-platform executable (support OS X / Linux / Windows) |
AsUnit | [6] | Flash Players 6, 7, 8, 9 and 10 | |
dpUInt | [7] | Unit and Integration testing framework for Flex 2 and 3 | |
Fluint | [8] | Unit and Integration testing framework for Flex 2 and 3 | |
morefluent | [9] | More fluent testing of asynchronous behaviors in Flex | |
mojotest | Yes | [10] | (under development) Unit testing for ActionScript 3, Flash Player 10 |
Ada
Name | xUnit | Source | Remarks |
---|---|---|---|
AUnit | [11] | ||
AdaTEST 95 | No | [12] | |
Ahven | [13] | ||
TBrun | [14] | ||
VectorCAST/Ada | No | [15] |
AppleScript
Name | xUnit | Source | Remarks |
---|---|---|---|
ASUnit | Yes | [16] | Testing framework for AppleScript, influenced by SUnit, ASTest and Python unittest |
ASTest | Yes | [17] | A testing framework for AppleScript |
ASCET
Name | xUnit | Source | Remarks |
---|---|---|---|
TPT | Yes | [18] | Model based physical stimulation and implemented stimulation |
ASP
Name | xUnit | Source | Remarks |
---|---|---|---|
ASPUnit | [19] |
BPEL
Name | xUnit | Source | Remarks |
---|---|---|---|
BPELUnit | [20] |
C
Name | xUnit | Fixtures | Group fixtures | Generators | Source | License | Remarks |
---|---|---|---|---|---|---|---|
libcbdd | Yes | Yes | Yes | [21] | Apache License | libcbdd is block based behaviour driven development library which allows for very readable tests. Tests are written inside main functions and this allows for great flexibility on how to run these tests. | |
AceUnit | Yes | Yes | [22] | BSD License | AceUnit is JUnit 4.x style, easy, modular and flexible. AceUnit can be used in resource constraint environments, e.g. embedded software development, as well as on PCs, Workstations and Servers (Windows and UNIX). | ||
API Sanity Checker | Yes | Yes (spectypes) | Yes (spectypes) | Yes | [23] | LGPL | Unit test generator for C/C++ libraries. Can automatically generate reasonable input data for every API function. |
Automated Testing Framework | [24] | BSD | Originally developed for the NetBSD operating system but works well in most Unix-like platforms. Ability to install tests as part of a release. | ||||
Autounit (GNU) | [25] | LGPL | In beta/under construction | ||||
Parasoft C/C++test | Yes | Yes | Yes | Yes | [26] | Proprietary | Automated unit/component test generation and execution on host or embedded systems with code coverage and runtime error detection. Also provides static analysis and peer code review. |
QA Systems Cantata | No | Yes | Yes | Yes | [27] | Proprietary | Automated unit and integration testing on host and embedded systems with code coverage and unique call interface control to simulate and intercept calls. |
Catsrunner | [28] | GPL | Unit testing framework for cross-platform embedded development. | ||||
cfix | Yes | [29] | Specialized for Windows development—both Win32 and NT kernel mode. Compatible to WinUnit. | ||||
Cgreen | [30] | LGPL | Unit test framework including strict and loose mocks, reflective runner discovering tests automatically, suites, BDD-style Concept Under Test notation, test protected against exceptions, natural language out, extensible reporter, learning mocks... | ||||
Check | Yes | Yes | Yes | [31] | LGPL | Check features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate process, so Check can catch both assertion failures and code errors that cause segmentation faults or other signals. The output from unit tests can be used within source code editors and IDEs. Check is supported on Linux, OS X, Windows, and probably others. | |
Cmocka | Yes | Yes | Yes | [32] | Apache License 2.0 | ||
Cmockery | Yes | [33] | Apache License 2.0 | Google sponsored project. | |||
CppUTest | Yes | Yes | No | Yes | [34] | Limited C++ set by design to keep usage easy and allow it to work on embedded platforms. C++ is buried in macros so the learning curve for C programmers is minimal. Ported to Symbian. Has a mocking support library CppUMock | |
Criterion | Yes | Yes | Yes | Yes | [35] | MIT | Unit testing framework with automatic test registration. Supports theories and parameterized tests. Each test is run in its own process, so signals and crashes can be reported. Can output to multiple formats, like the TAP format or JUnit XML. Supported on Linux, OS X, FreeBSD, and Windows. |
CU | [36] | LGPL | CU is a simple unit testing framework for handling automated tests in C. | ||||
CTest | Yes | Yes | Yes | [37] | Apache License 2.0 | Ctest is a framework with some special features: formatted output for easy parsing, easy to use. | |
CUnit | Yes | [38] | LGPL | OS independent (Windows, Linux, Mac OS X and probably others) | |||
CUnitWin32 | Yes | [39] | LGPL | For Win32. Minimalistic framework. Executes each test as a separate process. | |||
CUT | No | [40] | BSD | ||||
CuTest | Yes | [41] | zlib | Simple, straightforward, fast. Single .c file. Used in the Apache Portable Runtime Library. | |||
Cutter | Yes | [42] | LGPL | A Unit Testing Framework for C. | |||
EmbeddedUnit | Yes | Yes | [43] | MIT | Embedded C | ||
Embunit | No | [44] | Proprietary | Create unit tests for C/C++ and Embedded C++ | |||
FCTX | Yes | [45] | BSD | Fast and complete unit testing framework all in one header. Declare and write your functions in one step. No dependencies. Cross-platform. | |||
GLib Testing | Yes | Yes | [46] | Part of GLib | |||
GUnit | [47] | for GNOME | |||||
lcut | Yes | Yes | Yes | [48] | Apache License 2.0 | a Lightweight C Unit Testing framework, including mock support | |
LibU | Yes | No | [49] | BSD | multiplatform (Unixes and Windows); explicit test case/suite dependencies; parallel and sandboxed execution; xml, txt and customizable report formatting. | ||
MinUnit | [50] | as-is | extreme minimalist unit testing using 2 C macros | ||||
Mut | No | No | No | No | [51] | MIT | Another minimalistic framework for C and Unix. Single header file. |
NovaProva | Yes | Yes | No | Yes | [52] | Apache License 2.0 | Unit testing framework with automatic test registration. Supports mocking and stubbing. Each test is run in parallel with valgrind in its own process, so memory errors and signals can be caught. Supported on Linux. |
Opmock | Yes | Yes | Yes | Yes | [53] | GPLv3 | Stubbing and mocking framework for C and C++ based on code generation from headers. Can check call parameters, call sequence, handle multiple implementations of a mock, and more. Includes as well a small unit testing framework, with JUnit compatible XML output, but works also with any unit testing framework. |
RCUNIT | Yes | Yes | Yes | [54] | MIT | RCUNIT is a small framework for testing C programs. It uses non-local jumps to emulate exceptions and handles program terminating signals (e.g. SIGILL) during test runs. RCUNIT allows creation of test fixtures, either per test or per test group. | |
RTRT | [55] | ||||||
SeaTest | Yes | Yes | [56] | MIT | Simple, pure C, unit testing framework | ||
Smarttester | [57] | Automated unit and integration testing, and code coverage | |||||
Sput | [58] | 2-clause BSD |
Simple, portable C unit testing framework, single header file |
||||
STRIDE | Yes | Yes | Yes | No | [59] | Proprietary | Embedded software quality solution that includes techniques for unit, API, Behavior & Integration testing as well as interactive reporting portal |
TBrun | [14] | Automated unit and integration testing, and code coverage | |||||
Tessy | [60] | Automated unit and integration testing, and code coverage | |||||
TestApe | [61] | Test and mocking framework. Automatic default mocks for unresolved externals | |||||
Test Dept. | Yes | [62] | GPL | Can modify calls from software under test; e.g. test error conditions by stubbing malloc and letting it return null. Well documented | |||
TF unit test | Yes | Yes | [63] | GNU Lesser GPL | Pure C, supports test isolation in separate processes | ||
TPT | Yes | Yes | Yes | Yes | [18] | Proprietary | Time Partition Testing:Automated model based unit and integration testing for embedded systems. |
Unity | Yes | Yes | [64] | MIT | Lightweight and includes features for embedded development. Can work with Mocks and Exceptions via CMock and CException. Also integrated with test build environment Ceedling. | ||
VectorCAST/C | No | Yes | Yes | Yes | [65] | Proprietary | Automated unit and integration testing, and code coverage |
Visual Assert | Yes | [66] | Unit-Testing Add-In for Visual Studio. Based on the cfix testing framework. | ||||
tinytest | Yes | Yes | [67] | Apache | Standalone, no dependencies, header-only. | ||
xTests | [68] | BSD | Depends on STLSoft C & C++ Libraries |
C#
See .NET programming languages below.
C++
Name | xUnit | Fixtures | Group fixtures | Generators | Mocks | Exceptions | Macros | Templates | Grouping | Source | Remarks |
---|---|---|---|---|---|---|---|---|---|---|---|
Aeryn | No | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [69] | |
API Sanity Checker | Yes | Yes (spectypes) | Yes (spectypes) | Yes | [23] | Unit test generator for C/C++ libraries. Can automatically generate reasonable input data for every API function. LGPL. | |||||
ATF | Yes | Yes | Yes | Yes | [24] | BSD Licensed. Originally developed for the NetBSD operating system but works well in most Unix-like platforms. Ability to install tests as part of a release. | |||||
Bandit | No (describe/it) | Yes (describe) | Yes (Nested describe) | No | No | Yes | Yes | No | Yes (Nested describe) | [70] | Header only. Automatic test registration. Specifically developed for C++11 |
Boost Test Library | Yes[71] | Yes[72] | Yes[73] | Yes | With additional library "Turtle"[74] | Yes | User decision | Yes | Suites | [75] | Part of Boost |
QA Systems Cantata | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | [27] | Commercial. Automated OO unit and integration testing on host and embedded systems with code coverage and unique call interface control to simulate and intercept calls. |
CATCH | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | [76] | Header only, no external dependencies, auto-registration, tdd and bdd features |
doctest | No | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [77] | The lightest feature rich C++ single header testing framework |
CATCH-VC6 | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | [78] | VC6 port of CATCH |
cfix | Yes | Yes | No | No | No | Yes | Yes | No | [29] | Specialized for Windows development—both Win32 and NT kernel mode. Compatible to WinUnit. | |
Cput | Yes | Yes | Yes | Yes | Yes | Yes | No | Suites | [79] | Library and MS Visual Studio add-in to create and run unit tests. Open Source. | |
CPPOCL/test | No | No | Yes | Yes | [80] | Released Under Apache 2.0, Compliant with C++ 98 and C++ 11. Works for Linux and Windows 32/64 bit using gcc, Cygwin, VS2005 and VS2015. Header file only library. Provides ability to write performance tests in a similar way to unit tests. | |||||
CppTest | Yes | Yes | Suites | [81] | Released under LGPL | ||||||
cpptest-lite | Yes | Yes | Yes | Suites | [82] | Released under MIT. Developed for C++11. | |||||
CppUnit | Yes | Yes | Yes | No | No | Yes | Yes | No | Suites | [83][84] | Released under LGPL |
CppUTest | Yes | Yes | Yes | No | Yes | No | Yes | No | Suites | [34] | Limited C++ set by design to keep usage easy and allow it to work on embedded platforms. C++ is buried in macros so the learning curve for C programmers is minimal. Ported to Symbian. Has a mocking support library CppUMock |
CppUnitLite | Yes | No | No | No | Yes | No | Suites | [85] | |||
CPUnit | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [86] | Released under BSD. |
Criterion | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Suites | [87] | Unit testing framework with automatic test registration. Needs C++11 compiler support for the C++ API. Supports theories and parameterized tests. Each test is run in its own process, so signals and crashes can be reported. Can output to multiple formats, like the TAP format or JUnit XML. Supported on Linux, OS X, FreeBSD, and Windows. Released under the MIT license. |
crpcut | No | Yes | No | No | Yes | Yes | Suites within Suites | [88] | BSD 2 clause. Runs each test in its own process, guaranteeing that the test suite continues even in the event of an unexpected crash or infinite loop. | ||
CUTE | Yes | Yes | No | No | Yes | Yes | Suites | [89] | CUTE (C++ Unit Testing Easier) with Eclipse CDT integration. Single line include, without inheritance. Mock support is provided by Mockator. | ||
cutee | No | No | No | Yes | [90] | ||||||
CxxTest | Yes | Yes | Yes | No | Yes* | Optional | Yes | No | Suites | [91] | Uses a C++ parser and code generator (requiring Python) for test registration. * Has a framework for generating mocks of global functions, but not for generating mocks of objects. |
Embunit | No | No | Yes | [44] | Commercial. Create unit tests for C/C++ and Embedded C++ | ||||||
Exercisix | No | No | No | No | No | Yes | Yes | Yes | Executables | [92] | BSD-licensed. Aimed to make adding tests as fast and easy as possible. |
FakeIt | Yes | [93] | Use the latest C++11 features to create an expressive, yet very simple, API. MIT license. | ||||||||
FCTX | Yes | Yes | Yes | No | No | No | Yes | No | Yes | [94] | Fast and complete unit testing framework all in one header. Declare and write your functions in one step. No dependencies. Cross platform. |
Fructose | No | Yes | No | Yes | No | Yes | Yes | Yes | No | [95] | A simple unit test framework. |
Name | xUnit | Fixtures | Group fixtures | Generators | Mocks | Exceptions | Macros | Templates | Grouping | Source | Remarks |
Google C++ Mocking Framework | Yes | No | Yes | Yes | [96] | ||||||
Google Test | Yes | Yes | Yes | Yes | Yes | Yes | [97] | 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. | |||
Hestia | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Suites | [98] | Open source. Can test servers, libraries, and applications, and also test embedded software. |
Hippomocks | Yes | No | Yes | Yes | [99] | ||||||
Igloo | Yes (Contexts) | No | No | No | Yes | Yes | Yes | Yes (nested contexts) | [100] | BDD style unit testing in C++ | |
lest | No | Yes | No | No | No | Yes | Yes | Yes | No | [101] | Tiny header-only C++11 test framework |
liblittletest | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [102] | liblittletest is a portable, one file header-only C++ library for unit testing. Supports a rich set of assertions, automatic test discovering and various options for running the tests. |
libunittest | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [103] | libunittest is a portable C++ library for unit testing making use of C++11. |
Typemock Isolator++ | Yes | Yes | Yes | Yes | Yes | Yes | [104] | Commercial. Isolation/Mocking Framework for C/C++ | |||
Microsoft Unit Testing Framework for C++ | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | [105] | Commercial. Integrated into Microsoft Visual Studio 2013 IDE and later versions. |
Mockator | Yes | No | Yes | Yes | [106] | Header-only mock object library and an Eclipse plug-in to create test doubles in a simple yet powerful way; leverages new C++11 language facilities while still being compatible with C++03; has built-in support for CUTE | |||||
mock++/mockcpp | Yes | Yes | No | Yes | Yes | Yes | Yes | Suites | [107] | Simple testing framework for C++ (requires cmake) | |
mockitopp | Yes | [108] | A C++ mock object framework providing similar syntax to mockito for Java. | ||||||||
mockpp | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Suites | [109] | A C++ mocking framework hosted by Google | |
NanoCppUnit | No | Yes | Yes | No | No | No | Yes | Yes | Suites | [110] | Proof-of-concept |
NullUnit | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Suites | [111] | Low effort, easy to use. Supports automatic test discovery, user-defined assertions, fatal and non-fatal conditions, XML test report generation, and strong support for IDE integration. |
OAKUT | No | No | Yes | Yes (XML) | No | Yes | Yes | Yes | XML | [112] | Uses shared libraries / DLLs |
Opmock | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | [53] | Stubbing and mocking framework for C and C++ based on code generation from headers. Does not imply modification to your existing code, so well suited for legacy code refactoring. In particular, you don't need virtual operations or abstract classes. Can check call parameters, call sequence, handle multiple implementations of a mock, and more. Includes as well a small unit testing framework, with Junit compatible xml output, but works also with any unit testing framework. GPL license. |
Parasoft C/C++test | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | [26] | Commercial. Automated unit/component test generation and execution on host or embedded systems with code coverage and runtime error detection. Also provides static analysis and peer code review. |
QtTest | Yes | Yes | No | No | No | Yes [113] | No | No | [114] | Built on the ultra cross platform Qt Library. Allows testing on Windows, Mac OS X, Linux, BSD, Symbian, and any other platform Qt can build on. | |
QuickCheck++ | [115] | Framework for automatically generating tests. Inspired by QuickCheck | |||||||||
QuickTest | No | No | No | No | No | Yes | Yes | Yes | No | [116] | |
SafetyNet | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No | [117] | Lightweight fast unit testing framework that is easy to set up and use. Works on Windows and Linux. Supports GNU C++, VC++, MinGW, QtSDK and can create test projects for VisualStudio, CodeBlocks, Eclipse, KDevelop |
ShortCUT | No | Yes | [118] | ||||||||
STRIDE | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | [119] | Commercial. Embedded software quality solution that includes techniques for unit, API, Behavior & Integration testing as well as interactive reporting portal |
Symbian OS Unit | Yes | [120] | Based on CxxTest | ||||||||
TBrun | [121] | Commercial. | |||||||||
Tessy | [60] | Commercial. | |||||||||
TDOG | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Macro (namespaces) | [122] | TDOG is a lightweight, portable and open source C++ xUnit Testing Framework. |
Test soon | No | Yes | Yes | Yes | No | Auto-detect | Yes | Yes | Macro (namespaces) | [123] | Complex macro logic (deliberately) |
Testwell CTA++ | Yes | No | No | Yes | No | Yes | Yes | Yes | [124] | Commercial. | |
tpunit++ | Yes | Yes | No | No | Optional | Yes | Yes | [125] | A simple, portable C++ xUnit library contained in a single header. | ||
Trompeloeil | Yes | [126] | Simple, yet powerful, single header framework for mocking. Requires C++14. Boost Software License. | ||||||||
TUT | No | No | Yes | No | No | Yes | Yes | Yes | Templates | [127] | Based on templates. Automatic test registration/discovery, customizable reports generation process, various tests run options. Easy adaptable to work on Windows CE. |
Unit++ | [128] | ||||||||||
unit.hpp | No | Yes | No | Yes | No | Yes | Yes | No | [129] | Extremely lightweight single header (<500loc) unit testing framework. It follows the spirit of D in regards to unit tests. Automatic test discovery. RAII style test setup that are reusable in SECTIONs (Similar to Catch). | |
UnitTest++ | No | Yes | Yes | No | Yes | Yes | Yes | Suites | [130] | UnitTest++ is free software. Simplicity, portability, speed, and small footprint are all important aspects of UnitTest++. | |
upp11 | Yes | Yes | No | No | No | Yes | Yes | Yes | Yes | [131] | Free software. Minimal (single small header), auto test registrations, parametrized tests, etc. C++11 only. |
UquoniTest | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | [132] | Commercial. Adds features like easy creation of (reusable) test directories, Rich Booleans in assertions, and more. |
VectorCAST/C++ | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | [65] | Commercial. Automated unit and integration testing, and code coverage. |
Visual Assert | Yes | Yes | No | No | No | Yes | Yes | No | [66] | Unit-Testing Add-In for Visual Studio. Based on the cfix testing framework. | |
WinUnit | [133] | Focused more toward C/C++ than .NET developers | |||||||||
xTests | Yes | Yes | [68] | Depends on STLSoft C & C++ Libraries | |||||||
xUnit++ | Yes | Yes | Yes | Yes | Yes | Yes (Test setup only) |
Yes | Yes (Suites and Attributes) |
[134] | Supports running tests concurrently. Macros are only used for test setup, not for test assertions. | |
tinytest | Yes | Yes | [67] | Standalone, no dependencies, header-only. Apache license. | |||||||
Name | xUnit | Fixtures | Group fixtures | Generators | Mocks | Exceptions | Macros | Templates | Grouping | Source | Remarks |
Caché ObjectScript
Name | xUnit | Source | Remarks |
---|---|---|---|
%UnitTest (built-in) | Yes | [135] | The %UnitTest package is a set of classes that provide a testing framework for InterSystems Caché. Structurally, it resembles the xUnit testing frameworks. |
Cg
Name | xUnit | Source | Remarks |
---|---|---|---|
UnitTestCg | No | [136] | Pixel and Vertex Shaders supported. |
CFML (ColdFusion)
Name | xUnit | Source | Remarks |
---|---|---|---|
CFUnit | |||
cfcUnit | Yes | ||
MXUnit | Yes | [137] | Unit Test Framework with Eclipse and Sublime Text Plugins for CFML on ColdFusion, Railo, and Lucee |
TestBox | Yes | xUnit and Behavior Driven Testing Framework for CFML ColdFusion, Railo, and Lucee | |
MockBox | No | Mocking/Stubbing Framework for CFML (ColdFusion) |
Clojure
Name | xUnit | Source | Remarks |
---|---|---|---|
clojure.test (built-in) | Yes | [138] | |
Fact | Yes | [139] | |
Midje | [140] | ||
Speclj | Yes | [141] |
Cobol
Name | xUnit | Source | Remarks |
---|---|---|---|
COBOLUnit (CBU) | Yes | [142] | GPL v3 |
cobol-unit-test | No | [143] | Enable isolated unit testing of individual paragraphs in COBOL programs, in a standalone environment with no connection to a z/OS system. (CC BY-SA 4.0) |
savvytest | No | [144] | Commercial tool (rather than a framework) to edit and perform component tests on the IBM mainframe platform |
zUnit | Yes | [145] | Commercial framework on the IBM mainframe platform |
mfunit (MFU) | Yes | [146] | Commercial framework for testing Micro Focus COBOL programs on the Windows/Unix platforms |
Common Lisp
Name | xUnit | Source | Remarks |
---|---|---|---|
CLUnit | [147] | ||
CyberTiggyr Test | [148] | ||
FiveAM | No | [149] | |
FReT | [150] | ||
grand-prix | [151] | ||
HEUTE | [152] | ||
LIFT | [153] | ||
lisp-unit | [154] | ||
RT | [155] | ||
stefil | [156] | ||
XLUnit | [157] |
Curl
Name | xUnit | Source | Remarks |
---|---|---|---|
CurlUnit | [158] |
Delphi
Name | xUnit | Source | Remarks |
---|---|---|---|
DUnit | Yes | [159] | - |
DUnit2 | Yes | [160] | - |
DUnitX | Yes | [161] | - |
Emacs Lisp
Name | xUnit | Source | Remarks |
---|---|---|---|
ElUnit | [162] | ||
elk-test | No | [163] | |
Unit-test.el | [164] |
Erlang
Name | xUnit | Fixtures | Group Fixtures | Generators | Source | Remarks |
---|---|---|---|---|---|---|
EUnit | Yes | Yes | Yes | Yes | [165] | Included in Erlang release R12B5 and later |
Fortran
Name | xUnit | Fixtures | Group fixtures | Generators | MPI | OpenMP | Source | Remarks |
---|---|---|---|---|---|---|---|---|
FUnit | Yes | Yes | Yes | No | [166] | Minimum Fortran plus assertions and boiler plate expanded via Ruby. | ||
FRUIT | Yes | Yes | Yes | Yes | [167] | Written in Fortran 95 yet works with code written in any version of Fortran. Has assertions, fixture, setup, teardown, reporting and more. Generator in Ruby. | ||
Ftnunit | [168] | |||||||
pFUnit | Yes | Yes | Yes | Yes | Yes | Yes | [169] | Supports testing of MPI and OpenMP based procedures. A fully object-oriented implementation using Fortran 2003 is now available. In use with a range of legacy and new Fortran code. |
ObjexxFTK:UnitTest | [170] | User writes Fortran tests: Python script automatically finds all tests and generates the Fortran test driver. Supports F77-F2003. Assertion support and string and array libs included. |
F#
Name | xUnit | Source | Remarks |
---|---|---|---|
Foq | No | [171] | Lightweight type-safe and thread-safe mock object library for F# with C# and VB.Net support. |
FsCheck | No | [172] | Random testing (Fuzzing) combinator library based on QuickCheck for Haskell. |
FsMocks | No | [173] | F# mock library based on Rhino.Mocks. |
FsTest | Yes | [174] | Domain specific language for writing language oriented programming specifications in F#. Based on FsUnit syntax, but targeting xUnit.net. |
FsUnit | No | [175] | Stand-alone Behavior Driven Development framework, with natural syntax for writing specifications. |
NaturalSpec | No | [176] | Domain specific language for writing specifications in a natural language. Based on NUnit. |
Unquote | Yes | [177] | Combines F# Quotation decompilation, evaluation, and incremental reduction implementations to allow test assertions to be written as plain, statically-checked quoted expressions which produce step-by-step failure messages. Integrates configuration-free with all exception-based unit testing frameworks including xUnit.net, NUnit, and MbUnit. Unquote may also be used within FSI sessions. |
Other | - | See also listing for .NET programming languages, elsewhere on this page. |
Groovy
All entries under Java may also be used in Groovy.
Name | xUnit | Source | Remarks |
---|---|---|---|
easyb | [178] | BDD | |
Spock | Yes | [179] | |
Gmock | Yes | [180] | Mocking Framework |
Genexus
Name | xUnit | Source | Remarks |
---|---|---|---|
GXUnit | Yes | [181] | It's a framework (prototype) to perform unit testing for Genexus. |
Haskell
Name | xUnit | Source | Remarks |
---|---|---|---|
HUnit | Yes | [182] | |
HUnit-Plus | Yes | [183] | |
QuickCheck | No | [184] | QuickCheck |
SmallCheck | No | [185] | Exhaustive analysis test of "small" example data. |
Hspec | [186] | RSpec-style BDD framework for Haskell that integrates with QuickCheck and HUnit. | |
chuchu | No | [187] | Cucumber-style acceptance testing framework for Haskell |
bdd | No | [188] | Internal domain-specific language for testing programs using Behavior-Driven Development process |
Haxe
Name | xUnit | Source | Remarks |
---|---|---|---|
munit | [189] | Produces HTML reports for multiple compile targets including JavaScript, ActionScript and C++ |
HLSL
Name | xUnit | Source | Remarks |
---|---|---|---|
UnitTestCg | No | [136] | Pixel and Vertex Shaders supported. |
ITT IDL
Name | xUnit | Source | Remarks |
---|---|---|---|
MGunit | Yes | [190] | |
white paper | [191] | Only a white paper, not a framework |
Internet
Name | xUnit | Source | Remarks |
---|---|---|---|
HtmlUnit | [192] | Java headless browser emulator | |
HttpUnit | Testing framework for web applications, typically used in combination with JUnit | ||
IEUnit | [193] | Testing framework for web applications, based on IE browser and JavaScript | |
Canoo WebTest | [194] | Open source framework based on HtmlUnit. Support both XML-like or Groovy syntax in scripting. | |
Selenium | Testing framework whose playback can run in most modern web browsers to test webpages. | ||
Watir | Testing framework based on the Ruby language, that can run in web browsers to test webpages. | ||
soapUI | [195] | Open source web service testing platform for service-oriented architectures. | |
SOAtest | [196][197] | Commercial. API testing platform whose record/playback runs in most modern web browsers to test webpages. Supports Selenium WebDriver. |
Java
Name | xUnit | Source | Remarks |
---|---|---|---|
Arquillian | Yes | [198] | Open source framework for writing Integration and funcional tests. It includes Arquillian graphene, Drone and Selenium to write tests to the visual layer too. |
beanSpec | [199] | Behavior-driven development | |
BeanTest | No | [200] | A tiny Java web test framework built to use WebDriver/HTMLUnit within BeanShell scripts |
Cactus | A JUnit extension for testing Java EE and web applications. Cactus tests are executed inside the Java EE/web container. | ||
Concordion | [201] | Acceptance test-driven development, Behavior-driven development, Specification by example | |
Concutest | [202] | A framework for testing concurrent programs | |
Cucumber-JVM | [203] | Behavior-driven development replaces deprecated JRuby-based Cuke4Duke | |
Cuppa | [204] | Behavior-driven development framework for Java 8 | |
DbUnit | [205] | A JUnit extension to perform unit testing with database-driven programs | |
EasyMock | [206] | A mock framework [207] | |
EtlUnit | Yes | [208] | A unit testing framework for Extract-Transform-Load processes, written in Java. Capable of testing Oracle, Informatica, SqlServer, PostGreSQL, MySQL, etc.[209] |
EvoSuite | [210] | A test case generation tool that can automatically generate JUnit tests. | |
GrandTestAuto | [211] | GrandTestAuto (GTA) is a platform for the complete automated testing of Java software. Tests can be distributed across a number of machines on a network. | |
GroboUtils | [212] | A JUnit extension providing automated documentation, class hierarchy unit testing, code coverage, and multi-threaded tests. | |
HavaRunner | Yes | [213] | A JUnit runner with built-in concurrency support, suites and scenarios. |
Instinct | [214] | Behavior-driven development | |
Java Server-Side Testing framework (JSST) | [215] | Java Server-Side Testing framework which is based on the similar idea to the one of Apache CACTUS, but unlike CACTUS it's not coupled to JUnit 3.x and can be used in conjunction with any testing framework. | |
JBehave | [216] | Behavior-driven development | |
JDave | [217] | Behavior-driven development | |
JExample | Yes | [218] | A JUnit extension that uses dependencies between test cases to reduce code duplication and improves defect localization. |
JGiven | [219] | Behavior-driven development | |
JMock | [220] | A mock framework | |
JMockit | [221] | Open source framework. Tests can easily be written that will mock final classes, static methods, constructors, and so on. There are no limitations. | |
Jnario | Yes | [222] | Behavior-driven development like Cucumber |
Jtest | Yes | [223] | Commercial. Automated unit/component test generation and execution with code coverage and runtime error detection. Also provides static analysis and peer code review. |
Jukito | [224] | Combines Mockito and Guice to allow automatic mocking and instantiation of dependencies | |
JUnit | Yes | [225] | |
JUnitEE | [226] | A JUnit extension for testing Java EE applications | |
JWalk | [227] | Fast, semi-automatic creation of exhaustive unit test-sets | |
Mockito | [228] | A mock framework, using the Hamcrest library | |
Mockrunner | [229] | A JUnit extension for testing testing servlets, filters, tag classes and Struts actions and forms. | |
Needle | [230] | Open source framework for testing Java EE components outside of the container in isolation. | |
NUTester | [231] | Testing framework developed at Northeastern University to aid in teaching introductory computer science courses in Java | |
OpenPojo | [232] | Open source framework used to validate and enforce POJO behavior as well as manage identity - equals, hashCode & toString. | |
PowerMock | [233] | An extension to both Mockito and EasyMock that allows mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers and more. | |
Randoop | Yes | [234] | Automatically finds bugs and generates unit tests for Java, via feedback-directed random testing (a variant of Fuzzing). |
SpryTest | Yes | [235] | Commercial. Automated Unit Testing Framework for Java |
SureAssert | [236] | An integrated Java unit testing solution for Eclipse. Contract-First Design and test-driven development | |
TestNG | Yes | [237] | Actually a multi-purpose testing framework, which means its tests can include unit tests, functional tests, and integration tests. Further, it has facilities to create even no-functional tests (as loading tests, timed tests). It uses Annotations since first version and is a framework more powerful and easy to use than the most used testing tool in Java: JUnit.[238][239] |
Unitils | [240] | Offers general utilities and features for helping with persistence layer testing and testing with mock objects. Offers specific support for testing application code that makes use of JPA, hibernate and spring. Unitils integrates with the test frameworks JUnit and TestNG. | |
XMLUnit | [241] | JUnit and NUnit testing for XML |
JavaScript
Name | xUnit | TAP | Client-side | Server-side | Source | Remarks |
---|---|---|---|---|---|---|
Suitest | Yes | Yes | [242] | [OBSOLETE]: Suitest is a powerful and easy-to-use JavaScript BDD test suite | ||
DOH | Yes | Yes | [243] | Dojo Objective Harness that can be run in-browser or independently via Rhino | ||
LBRTW UT | No | Yes | No | [244][245] | Developed as a learning project | |
JSUnit | Yes | No | Yes | No | [246] | JSUnit is no longer actively maintained |
Enhance JS | Yes | No | Yes | No | [247] | Port of Enhance PHP |
QUnit | Yes | Yes | [248] | jQuery test harness | ||
Unit.js | Compatible | Yes | Yes | Yes | [249] | Unit testing framework for javascript and Node.js. Unit.js works with any unit testing framework and assertion libraries. Multiple assertions styles: TDD, BDD, spec (provides a spec documentation generator), expect, ... |
RhUnit | Yes | Yes | [250] | QUnit compatible Rhino/JUnit framework | ||
Crosscheck | No | Yes | [251] | Browserless Java-based framework | ||
J3Unit | Yes | No | [252] | |||
Mocha | Yes | Yes | Yes | Yes | [253] | JavaScript test framework running on node.js |
intern | No | Yes | Yes | Yes | [254] | |
JSNUnit | Yes | No | [255] | |||
YUI Test | Yes | Yes | Yes | Yes | [256] | |
JSSpec | Yes | No | [257] | Behaviour-driven development framework | ||
UnitTesting | Yes | No | [258] | script.aculo.us javascript test harness | ||
JSpec | Yes | Yes | [259] | Highly readable BDD, 50+ matchers, DOM / framework independent, async, rhino, node.js support and more (no longer maintained) | ||
Jasmine | Yes | Yes | [260] | BDD, framework independent, easy integration with Ruby projects and continuous builds. Allows for both DOM-less testing and asynchronous testing. | ||
screw-unit | Yes | No | [261] | Requires jQuery | ||
Tape | Yes | Yes | Yes | Yes | [262] | TAP-producing test harness for node and browsers |
Test.Simple | No[263] | Yes | Yes | No | [264] | Write TAP-emitting unit tests in JavaScript and run them in your browser. |
Test.More | No[1] | Yes | Yes | No | [265] | Write TAP-emitting unit tests in JavaScript and run them in your web browser. |
TestCase | Yes | No | [266] | |||
TestIt | Yes | Yes | [267] | Light-weight, non-polluting, and easy to set up and use | ||
jsUnitTest | Yes | Yes[268] | Based on TestCase but without the Prototype dependency | |||
JSTest | Yes | No | [269] | Light-weight, non-polluting browser-based framework | ||
JSTest.NET | No | Yes | [270] | Browserless JavaScript unit test runner for use with MsTest, XUnit, NUnit, etc. | ||
jsUnity | Yes | No | Yes | Yes | [271] | Context-agnostic (JavaScript, JScript (ASP/WSH), Rhino, etc.) |
RhinoUnit | No | Yes | [272] | Rhino-based framework that allows tests to be run in Ant | ||
JasUnit | Yes | No | Yes | No | [273] | Light-weight framework. Part of a project that provides Mocks and IoC.) |
FireUnit | Yes | No | [274] | Testing framework that provides logging and viewing within a new tab of Firebug. | ||
Js-test-driver | Yes | Yes | No | [275] | The goal of JsTestDriver is to build a JavaScript test runner which easily integrates with continuous builds systems and allows running tests on multiple browsers quickly to ease TDD style development. | |
Js-test-runner | No | Yes | Yes | [276] | A JUnit test runner that runs JavaScript tests. The goal of the JS Test Runner is to be able to test JavaScript code using an approach that test driven programmers will feel comfortable with; particularly in the context of Continuous Integration. | |
Sinon.js | Compatible | Yes | Yes | [277] | Standalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework. | |
SOAtest | No | Yes | No | [197] | Commercial. Testing platform whose record/playback runs in most modern web browsers where client-side Javascript can be tested both through static analysis and functional verification. | |
Vows | No | Yes | [278] | |||
Nodeunit | Yes | Yes | [279] | Asynchronous Javascript testing framework | ||
Tyrtle | Yes | Yes | [280] | Testing framework which allows expressive assertions and interactive test output | ||
wru | Compatible | Yes | Yes | [281] | General purpose environment agnostic sync/async JavaScript test framework. Compatible with any browser, desktop or mobile, node.js, Rhino, and phantom.js. Tiny, essential, fast. | |
Buster.JS | Compatible | Yes | Yes | Yes | [282] | BDD/xUnit, assertions, expectations, browser/server, extendable with tools like linting and other QA measures, highly configurable, well documented and actively developed |
Lighttest | Yes | Yes | [283] | Minimalistic testing library, supports flow control, focused on keeping the tests clear | ||
Chai | Yes | Yes | [284] | BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. | ||
JSUS | Yes | No | [285] | A simple JavaScript Unit teSting tool! | ||
Wallaby.js | Yes | Yes | [286] | Commercial. Continuous test runner that reports code coverage and other results directly to the code editor immediately as the code changes. Supports Jasmine, Mocha, QUnit, Jest, Babel, Webpack, Browserify, CoffeeScript, TypeScript. |
Lasso
Name | xUnit | Source | Remarks |
---|---|---|---|
L-Unit | [287] |
LaTeX
Name | xUnit | Source | Remarks |
---|---|---|---|
qstest | [288] |
LabVIEW
Name | xUnit | Source | Remarks |
---|---|---|---|
LabVIEW Unit Test Framework | No | Generate test harnesses for VIs in LabVIEW automatically. | |
VI Tester | Yes | [289] | native LabVIEW object-oriented implementation of xUnit framework. Unit tests are written as VIs in LabVIEW. |
Caraya | Yes | [290] | native LabVIEW implementation of xUnit framework. |
LISP
Name | xUnit | Source | Remarks |
---|---|---|---|
FiveAM | [149] | ||
LIFT | [153] | ||
lisp-unit | [154] |
Logtalk
Name | xUnit | Source | Remarks |
---|---|---|---|
lgtunit | Yes | [291] | Supports code coverage at the predicate clause level |
Lua
Name | xUnit | Source | Remarks |
---|---|---|---|
LuaUnit | [292] | ||
lunit | [293] |
MATLAB
Name | xUnit | Source | Remarks |
---|---|---|---|
mlUnit | Yes | [294] | |
mlUnit 2008a | Yes | [295] | |
Legland's MUnit | [296] | Inspired Lombardi's MUnit | |
Lombardi's MUnit | [297] | Similar to xUnit | |
MATLAB xUnit Test Framework | Yes | [298] | MATLAB R2008a and later (uses OOP features introduced in this release). Renamed from mtest. Accepts both xUnit-style subclass or simple MATLAB function test cases. |
Doctest | No | Bitbucket repository - source and documentation[299] | Allows automated test cases to be put in the documentation so your usage examples double as test cases and vice versa. A TAP producer. Inspired by the Python module of the same name. As of August 2011, it can only handle single line test-cases and its exception handling facility cannot handle exceptions that are generated after other output.[300] |
matlab.unittest | Yes | MATLAB documentation[301] | Included as part of MATLAB R2013a |
MOxUnit | Yes | github repository [302] | Works for both Matlab and Octave. Uses old-style OOP features and is compatible with the Matlab xUnit Test Framework. Can be used with the Travis-ci and Shippable continuous integration services (example), and integrates with MOcov to provide code coverage reports either offline or through coveralls.io(example). |
.NET programming languages
Name | xUnit | Source | Remarks |
---|---|---|---|
csUnit | Yes | includes GUI, command line, VS2005 plug-in; supports C#, VB.NET, Managed C++, J#, other .NET languages, supports .NET 3.5 and earlier versions; integrated with ReSharper | |
DbUnit.NET | [303] | A .NET 2.0 unit testing framework for database access code | |
Fixie | Yes | [304] | Based on NUnit and xUnit, with an emphasis on customization through user-defined conventions. Integrates with TestDriven.NET. |
Foq | No | [171] | Lightweight type-safe and thread-safe mock object library for F# with C# support. |
Gallio | [305] | Extensible, and neutral automation platform that provides a common object model, runtime services and tools (such as test runners) that may be leveraged by any number of test frameworks. | |
MbUnit | Yes | [306] | Extensible, model-based nUnit compatible framework. Part of the Gallio Test Automation Platform. |
Moq | Yes | [307] | Moq is a .NET Framework library for creating mock objects. It leverages C# 3.0 lambda expressions, typically used in Test Driven Development. |
MSTest | No | A command-line tool for executing Visual Studio created unit tests outside of the Visual Studio IDE - not really a testing framework as it is a part of the Visual Studio Unit Testing Framework. | |
NaturalSpec | No | [176] | Domain-specific language for writing specifications in a natural language. Based on NUnit. |
NBi | Yes | [308] | Data centric test framework specialized for the Microsoft Business Intelligence platform. Tests equivalence of result sets based on SQL, MDX or DAX queries, performance, syntax, structure and dimensions' members (Multidimensional and Tabular SSAS). Includes a tests generator. |
NMate | [309] | NUnit and PartCover Code Generation and integration Addin for Microsoft Visual Studio 2005/2008 | |
NUnit | Yes | includes GUI, command line, integrates into Visual Studio with ReSharper | |
NUnitAsp | Based on NUnit | ||
Pex | Yes | [310] | Microsoft Research project providing White box testing for .NET, using the Z3 constraint solver to generate unit test input (rather than Fuzzing). |
Quality Gate One Studio | No | [311] | Commercial/freeware test framework for unit and integration testing that analyses dependencies between test cases to flow data between them. Supports combinatorial testing, multithreading and time-dependencies. |
QuickUnit.net | No | [312] | Implement unit tests without coding. Minimalist approach to test driven development. |
Randoop.NET | Yes | [313] | Automatically finds bugs and generates unit tests for .NET, via feedback-directed random testing (a variant of Fuzzing). |
Rhino Mocks | Yes | [314] | A dynamic mock object framework for the .NET platform. |
Roaster | Yes | [315] | NUnit-based framework and tools for the .NET Compact Framework |
SpecFlow | Yes | [316] | Behavior Driven Development framework for .NET. Inspired by Cucumber. Integrates with NUnit, MSTest, MbUnit, and others. |
Specter | Yes | [317] | Behavior-driven development with an easy and readable syntax for writing specifications. Includes command line, optional integration with NUnit |
TestDriven.NET | [318] | Commercial | |
.TEST | Yes | [319] | Commercial. Automated software quality solution that includes unit test generation and execution as well as reporting industry standard code coverage. |
TickSpec | Yes | [320] | Behavior-driven development framework for .NET and Silverlight. Supports the Gherkin language as used by Cucumber and extends it with combinatorial examples. Integrates with NUnit, xUnit, MbUnit and MSTest. |
TPT | Yes | [18] | Time Partition Testing provides a .NET-API for the TPT-VM for testing controller software. |
Typemock Isolator | Yes | [321] | Commercial unit testing framework with simple API and test code generation features, supports C#, ASP.NET, SharePoint, Silverlight. |
Visual Studio | No | The Visual Studio Unit Testing Framework was first included in Visual Studio Team System 2005 where it integrated with the IDE, but not available in the most-used Standard Edition. From Visual Studio 2008 it is available also in Professional Edition. Starting with Visual Studio Express 2013, it is included with Visual Studio Express editions. | |
Visual T# | Yes | [322] | Visual T# is a unit testing framework and development environment integrated with Visual Studio. It includes T#, a programming language designed specifically to naturally express unit test intentions, and tools for compiling, running and maintaining them. |
xUnit.net | Yes | [323] |
Objective-C
Name | xUnit | Source | Remarks |
---|---|---|---|
GHUnit | Yes | [324] | An easy to integrate, use and visual test framework for simulator and devices. |
CATCH | [325] | A modern, fully featured, unit test framework with no external dependencies - all implemented in headers | |
Cedar | [326] | BDD for Objective-C | |
Kiwi | [327] | RSpec-style BDD for Objective-C with support for mocks and stubs. | |
Specta | [328] | A light-weight TDD / BDD framework for Objective-C & Cocoa. | |
Quick | [329] | A behavior-driven development test framework for Swift and Objective-C. | |
ObjcUnit | [330] | ||
OCUnit | Yes | [331] | Comes with Xcode. Fully integrated with Xcode 4. |
WiteBox for iPhone | [332] | Exclusively for iPhone unit testing, provides visual feedback, hierarchical results display, and test durations. | |
WOTest | [333] | ||
XCTest | Yes | [334] | Supports iOS & Mac OS X. Requires Xcode 5. Derived from OCUnit. |
OCaml
Name | xUnit | TAP | Source | Remarks |
---|---|---|---|---|
Alcotest | [335] | |||
OUnit | [336] | Based on HUnit, which is based on JUnit | ||
Kaputt | [337] | |||
TestSimple | Yes | [338] | Generates TAP | |
FORT | [339] |
Object Pascal (Free Pascal)
Name | xUnit | TAP | Source | Remarks |
---|---|---|---|---|
FPCUnit | Yes | No | [340] | This is a port to Free Pascal of the JUnit core framework. |
Tap4Pascal | No | Yes | [341] | A Pascal implementation of the Test Anything Protocol |
FPTest | Yes | No | [342] | This is a fork of DUnit2, specifically for use with the Free Pascal Compiler. |
PegaRULES Process Commander
Name | xUnit | Source | Remarks |
---|---|---|---|
PRUnit | Yes | [343] | xUnit style testing adapted to PRPC |
Perl
Name | xUnit | TAP | Source | Remarks |
---|---|---|---|---|
TAP | N/A | Yes | [344] | The Test Anything Protocol used by most Perl tests |
Test::Harness | N/A | Yes | [345] | The standard Perl test runner and TAP parser |
Test::More | No | Yes | [346] | The baseline testing module, included with all modern Perl installations |
Test::Class | Yes | Yes | [347] | xUnit style testing adapted to Perl |
Test::Builder | N/A | Yes | [348] | A module for making more testing modules. These modules can be combined in a single test program |
Test::Unit (a.k.a. PerlUnit) | Yes | No | [349][350] | a fairly straight port of JUnit to the Perl programming language. Note: This code seems to be abandoned as noted here [351] and here.[352] |
Test::DBUnit | N/A | Yes | [353] | The database testing modules for both clear box and black box testing |
Test::Unit::Lite | Yes | Yes (via Test::Unit::HarnessUnit) | [354] | Test::Unit replacement without external dependencies and with some bugs fixed |
Test::Able | Yes | Yes | [355] | xUnit style testing with Moose |
PHP
Name | xUnit | TAP | Source | Remarks |
---|---|---|---|---|
PHPUnit | Yes | Yes | [356] | Produces XML, HTML reports with code coverage |
PHP Unit Testing Framework | Yes | No | [357] | It produces ASCII, XML or XHTML output and runs from the command line. |
SimpleTest | Yes | No | [358] | Unit test framework for both PHP and web. |
Testilence | Yes | No | http://www.testilence.org/ | URL no longer works. |
lime | No | Yes | [359] | Sub-project of Symfony |
Apache-Test | No | Yes | [360] | PHP implementation of Test::More (test-more.php)[361] |
ojes | No | No | [362] | Documentation-driven testing |
SnapTest | Yes | Yes | [363] | SnapTest is a powerful unit testing framework for PHP 5+, leveraging PHP's unique runtime language to simplify the unit test process without sacrificing the agility tests provide. |
OnionTest | No | Yes | Write an Onion! No coding needed just some txt files. | |
Enhance PHP | Yes | Yes | Unit testing framework with mocks and stubs built in. Runs in the command line or get HTML5, TAP or XML output via a web browser. | |
Atoum | Yes | Yes | [364] | A modern, simple and intuitive PHP 5.3+ unit testing framework. |
Tester | Yes | Yes | [365] | PHP library for unit-testing (in console and browser), simplified variant of PHPUnit. With ability to handle errors and exceptions in tests. |
PhpInlineTest | No | No | [366] | PhpInlineTest - script to run inline tests for PHP functions and class methods. |
PHPSpec | No | No | [367] | A BDD style testing framework. |
Nette Tester | Yes | Yes | [368] | Sub-project of Nette Framework |
Kahlan | Yes | No | [369] | Unit/BDD PHP Test Framework with Monkey Patching & Stubbing capabilities |
Codeception | Yes | Yes | [370] | BDD-styled PHP testing framework written on top of PHPUnit. Codeception tests are written in a descriptive manner using a simple PHP DSL. Supports re-use, modules and addons. |
PowerBuilder
Name | xUnit | Source | Remarks |
---|---|---|---|
PBUnit | [371] |
Progress 4GL
Name | xUnit | Source | Remarks |
---|---|---|---|
proUnit | Yes | [372] | xUnit-style framework for Progress OpenEdge procedures and objects |
OEUnit | Yes | [373] | xUnit-style framework for Progress OpenEdge procedures and objects |
Prolog
Name | xUnit | Source | Remarks |
---|---|---|---|
PlUnit | [374] |
Python
Name | xUnit | Generators | Fixtures | Group Fixtures | Source | Remarks |
---|---|---|---|---|---|---|
Autotest | Yes | Yes | [375] | Used for Linux kernel testing | ||
unittest | Yes | Yes | Yes | No | (sometimes referred to as "PyUnit"), has been included in Python standard library from Python version 2.1.[376] | |
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 | Yes | [377] | a discovery-based unittest extension | |
py.test | Yes | Yes | Yes | Yes | [378] | Distributed testing tool |
TwistedTrial | Yes | Yes | Yes | No | [379] | PyUnit extensions for asynchronous and event-driven code |
Should DSL | Yes | Yes | Yes | Yes | [380] | Distributed testing tool |
R programming language
Name | xUnit | Source | Remarks |
---|---|---|---|
RUnit | No | [381] | Open source |
testthat | Yes | [382] | Open source |
Racket
Name | xUnit | Source | Remarks |
---|---|---|---|
rackunit | Yes | [383] | Open source |
Overeasy | No | [384] | Open source |
REALbasic
Name | xUnit | Source | Remarks |
---|---|---|---|
RBUnit | No | [385] |
Rebol
Name | xUnit | Source | Remarks |
---|---|---|---|
Runit | [386] |
RPG
Name | xUnit | Source | Remarks |
---|---|---|---|
RPGUnit | Yes | [387] |
Ruby
Name | xUnit | Source | Remarks |
---|---|---|---|
Test::Unit | Yes | [388] | Default in Ruby 1.8, deprecated from 2.2.[389][390] It was only a wrapper of minitest.[391] |
RSpec | Behaviour-driven development framework | ||
Shoulda | [392] | ||
microtest | |||
Bacon | |||
minitest | Yes | [393][394] | Ruby Gem by Ryan Davis. Default in Ruby >= 1.9, independent gem since 2.2.[389] Recommended by official documentation.[391] |
TMF | [395] |
SAS
Name | xUnit | Source | Remarks |
---|---|---|---|
FUTS | Yes | [396] | the Framework for Unit Testing SAS |
SCLUnit | Yes | [397] | SAS/AF implementation of the xUnit unit testing framework SAS |
SASUnit | Yes | [398] | completely written in SAS, runs with SAS on Windows and Linux |
Scala
Name | xUnit | Source | Remarks |
---|---|---|---|
ScalaTest | [399] | Scalable Test Framework - supports different styles of testing: TDD, BDD, and more | |
Rehersal | [400] | with JMock like Expectations and natural language test names | |
ScUnit | [401] | JUnit-style testing with fixture method injection and matchers for assertion | |
specs2 | [402] | Behavior Driven Development | |
ScalaCheck | No | [403] | Similar to QuickCheck |
µTest | [404] | Supports ScalaJS |
Scilab
Name | xUnit | Source | Remarks |
---|---|---|---|
Scilab test_run | Yes | [405] | Provided by default by Scilab |
Scheme
Name | xUnit | Source | Remarks |
---|---|---|---|
SchemeUnit | Yes | [406] | |
Testeez | No | [407] |
Shell
Name | xUnit | Source | Remarks |
---|---|---|---|
assert.sh | [408] | LGPL licensed. Lightweight.. | |
bats | [409] | the Bash Automated Testing System. TAP-compliant. MIT license | |
ATF | [24] | BSD Licensed. Originally developed for the NetBSD operating system but works well in most Unix-like platforms. Ability to install tests as part of a release. | |
jshu | [410] | Simplified Shell Unit Testing for Jenkin/Hudson | |
Roundup | No | [411] | |
ShUnit | Yes | [412] | |
shUnit2 | Yes | [413] | Originally developed for log4sh |
filterunit | [414] | Test framework for filters and other command-line programs |
Simulink
Name | xUnit | Source | Remarks |
---|---|---|---|
slUnit | [415] | ||
TPT | Yes | [18] | Time Partition Testing: Automated interface analysis, testframe generation, test execution, test assessment, reporting. |
Smalltalk
Name | xUnit | Source | Remarks |
---|---|---|---|
SUnit | Yes | The original source of the xUnit design |
SQL and Database Procedural Languages
SQL
Name | xUnit | Source | Remarks |
---|---|---|---|
SQLUnit | [416] | ||
DbFit | [417] | Compare FitNesse. |
MySQL
Name | xUnit | Source | Remarks |
---|---|---|---|
STK/Unit | Yes | [418] | |
MyTAP | Yes | [419] | |
utMySQL | Yes | [420] |
PL/SQL
Name | xUnit | Source | Remarks | Active |
---|---|---|---|---|
utPLSQL | Yes | [421] | Initially developed by Steven Feuerstein, an open source unit testing framework for PL/SQL development modeled on the Junit and xUnit frameworks. | Yes |
Code Tester for Oracle | [422][423] | A commercial PL/SQL testing tool originally from Quest Software (the makers of Toad) and Steven Feuerstein. Since 2012 Quest Software is part of Dell. | Yes | |
SQL Developer | [424] | Oracle includes a Unit Tester as part of the free SQL Developer application. | Yes | |
pl/unit | [425] | PL/Unit is a unit testing framework that provides the functionality to create unit tests for PL/SQL code. PL/Unit is expressed as a single package that is compiled into the database and made available for use by PL/SQL unit tests. | No | |
PL/SQL Unit Testing for Oracle (PLUTO) | Yes | [426] | Open source unit testing framework modeled after JUnit and based on the Oracle PL/SQL object system | No |
ruby-plsql-spec | Yes | [427] | PL/SQL unit testing with Ruby open source libraries | Yes |
DBFit | [428] | Write, manage and execute tests directly from the browser. DbFit is written on top of FitNesse, a mature, fully featured framework with a large community. | Yes |
IBM DB2 SQL-PL
Name | xUnit | Source | Remarks | Active |
---|---|---|---|---|
db2unit | Yes | [429] | db2unit is an OpenSource framework developed for DB2 LUW. It is a xUnit/jUnit style framework for SQL-PL routines and it requires DB2 v9.7 or higher. | Yes |
PostgreSQL
Name | xUnit | TAP | Source | Remarks | Active |
---|---|---|---|---|---|
Epic | [430] | Epic is a unit test framework for PostgreSQL stored procedures. It requires PG 8.1 or higher. | No | ||
pgTAP | Yes | Yes | [431] | Write tests in SQL or xUnit-style functions. | Yes |
PGtools | [432] | Schema loading and testing tools for PostgreSQL. | No | ||
PGUnit | Yes | No | [433] | xUnit-style framework for stored procedures. | No |
Transact-SQL
Name | xUnit | Source | Remarks |
---|---|---|---|
tSQLt | Yes | [434] | Includes mocking framework, continuous integration support and uses SQL Test as a GUI [435] |
TSQLUnit | Yes | [436] | [437] |
utTSQL | Yes | [438] | |
Visual Studio Team Edition for Database Professionals | [439] | ||
Alcyone SQL Unit | Yes | [440] | Includes GUI for writing tests and maintaining data table files. |
T.S.T. | [441] | ||
Slacker | Yes | [442] | Based on RSpec |
Swift
Name | xUnit | Source | Remarks |
---|---|---|---|
Quick | [443] | A behavior-driven development test framework for Swift and Objective-C. | |
Sleipnir | [444] | A BDD-style framework for Swift. | |
XCTest | Yes | [334] | Derived from OCUnit. |
SystemVerilog
Name | xUnit | Source | Remarks |
---|---|---|---|
SVUnit | [445] | SVUnit: SVUnit is a unit test framework for developers writing code in SystemVerilog. |
TargetLink
Name | xUnit | Source | Remarks |
---|---|---|---|
TPT | [18] | Time Partition Testing: Automated interface analysis, testframe generation, test execution, test assessment, reporting. |
Tcl
Name | xUnit | Source | Remarks |
---|---|---|---|
tcltest | [446] | ||
tclUnit | Yes | [447] | |
t-unit | [448] |
TinyOS/nesC
Name | xUnit | Source | Remarks |
---|---|---|---|
TUnit | Yes | [449] | Embedded multi-platform wireless testing and characterization |
TypeScript
Name | xUnit | Source | Remarks |
---|---|---|---|
tsUnit | Yes | [450] | |
Oscar | Yes | [451] |
VHDL
Name | Source |
---|---|
VUnit | [452] |
Visual FoxPro
Name | xUnit | Source | Remarks |
---|---|---|---|
FoxUnit | [453] |
Visual Basic (VB6.0)
For unit testing frameworks for VB.NET, see the .NET programming languages section.
Name | xUnit | License | Source | Remarks |
---|---|---|---|---|
vbUnit | Commercial | [454] | Visual Basic and COM objects | |
vbUnitFree | LGPL | [455] | Visual Basic and COM objects | |
VbaUnit | BSD | [456] | Visual Basic for Applications | |
ExcelVbaUnit | LGPL | [457] | Similar to VbaUnit, but specifically for testing Excel VBA (written as an Excel add-in) | |
TinyUnit | [458] | Visual Basic 6, VB .NET, and PHP5 | ||
SimplyVBUnit | Yes | MIT | [459] | VB6 Unit Testing Framework modeled after the popular NUnit for .NET |
VBLiteUnit | BSD | [460] | Visual Basic and COM objects |
Visual Lisp
Name | xUnit | Source | Remarks |
---|---|---|---|
vl-unit | [461] | Unit testing framework for Visual Lisp. |
XML
Name | xUnit | Source | Remarks |
---|---|---|---|
XUnit | [462] | for testing | |
WUnit | [463] | for testing Web applications
|
|
SOAtest | No | [197] | Commercial. Parasoft's full-lifecycle quality platform for ensuring secure, reliable, compliant business processes. |
XMLUnit | Yes | [241] | Plugin for JUnit and NUnit, allowing Assertion-style tests to be written for XSLT documents in Java or C# |
Vibz Automation | No | [464] | Open Source. Vibzworld's Fully featured Open source test framework. |
Name | xUnit | Source | Remarks |
---|---|---|---|
AntUnit | [465] | For testing Apache Ant tasks |
XSLT
Name | xUnit | Source | Remarks |
---|---|---|---|
juxy | [466] | a library for unit testing XSLT stylesheets from Java | |
Tennison Tests | [467] | allows to write unit-tests in XML, exercising XSLT from Apache Ant. When incorporated in a continuous integration environment, it allows to run multiple XSLT tests as part of a build, failing the build when they go wrong. | |
UTF-X | [468] | unit testing framework for XSLT that strongly supports the test-first-design principle with test rendition and test validation features | |
XMLUnit | Yes | [241] | Plugin for JUnit and NUnit, allowing Assertion-style tests to be written for XSLT documents in Java or C# |
XSLTunit | [469] | Proof of concept unit testing framework for XSLT | |
XSpec | [470] | XSpec is a Behavior Driven Development (BDD) framework for XSLT and XQuery. It is based on the Spec framework of RSpec, which is a BDD framework for Ruby. |
Other
Name | xUnit | Source | Remarks |
---|---|---|---|
Test Manager | [471] | ||
IdMUnit | Yes | [472] | Identity management |
Visual Studio Unit Testing Framework | [473] | Microsoft's suite of unit testing tools |
See also
Unit testing in general:
Extreme programming approach to unit testing:
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- Oracle Unit Testing - tutorial site
- OpenSourceTesting.org lists many unit testing frameworks, performance testing tools and other tools programmers/developers may find useful
- Testing Framework
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.flexunit.org/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 14.0 14.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [1] Archived July 16, 2006 at the Wayback Machine
- ↑ 18.0 18.1 18.2 18.3 18.4 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 23.0 23.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 24.0 24.1 24.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 26.0 26.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 27.0 27.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [2] Archived March 22, 2007 at the Wayback Machine
- ↑ 29.0 29.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 34.0 34.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 44.0 44.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [3][dead link]
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 53.0 53.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 60.0 60.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://unity.sourceforge.net
- ↑ 65.0 65.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 66.0 66.1 http://www.visualassert.com/
- ↑ 67.0 67.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 68.0 68.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Llopis, Noel. "Exploring the C++ Unit Testing Framework Jungle", 2004-12-28. Retrieved on 2010-2-13.
- ↑ Rozental, Gennadiy "Boost Test Fixture Documentation". Retrieved on 2010-2-13.
- ↑ Rozental, Gennadiy "Boost Test Test Suite Level Fixture Documentation". Retrieved on 2010-2-13.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://fctx.wildbearsoftware.com
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [4] Archived January 18, 2006 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.ldra.co.uk/tbrun.asp
- ↑ [5] Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://tut-framework.sourceforge.net/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 136.0 136.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://cybertiggyr.com/gene/lut/
- ↑ 149.0 149.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 153.0 153.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 154.0 154.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [6] Archived July 19, 2008 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 171.0 171.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 176.0 176.1 [7] Archived May 10, 2010 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [8] Archived March 4, 2007 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 197.0 197.1 197.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://jukito.org/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://openpojo.com/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 241.0 241.1 241.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.iankent.co.uk/rhunit/
- ↑ [9] Archived July 5, 2006 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://github.com/theintern/intern
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://jania.pe.kr/aw/moin.cgi/JSSpec
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://visionmedia.github.com/jspec
- ↑ http://pivotal.github.com/jasmine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ TAP output can easily be transformed into JUnit XML via the CPAN module TAP::Formatter::JUnit.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://code.google.com/p/jsunity/source/browse/trunk/jsunity/jsunity.js
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://jsunity.com/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://js-testrunner.codehaus.org/
- ↑ http://sinonjs.org/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://wallabyjs.com/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.quickunit.com/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [10] Archived February 27, 2011 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 334.0 334.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.iinteractive.com/ocaml/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://autotest.github.io/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 389.0 389.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 391.0 391.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ [11] Archived July 18, 2011 at the Wayback Machine
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://mlunit.sourceforge.net/index.php/The_slUnit_Testing_Framework
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.epictest.org/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://www.lavalampmotemasters.com/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://github.com/LarsAsplund/vunit
- ↑ http://www.foxunit.org/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ http://vbunitfree.sourceforge.net/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.