FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#JavaScript

List of unit testing frameworks

Contents
    Ant
    AppleScript
    C++
    ColdFusion (CFML)
    Crystal
    ECMAScript
        JavaScript

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

Frameworks are grouped below. For unit testing, a framework must be the same language as the source code under test, and therefore, grouping frameworks by language is valuable. But some groupings transcend language. For example, .NET groups frameworks that work for any language supported for .NET, and HTTP groups frameworks that test an HTTP server regardless of the implementation language on the server.

– associating a test environment with a single test
  • Group fixtures: Whether supports group fixtures
    NamexUnitSourceRemarks
    AUnitNo
    RTRT

    Ant

    edit

    For Apache Ant tasks.

    NamexUnitSourceRemarks
    AntUnit

    AppleScript

    edit

    For AppleScript.

    NamexUnitSourceRemarks
    ASUnit

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

    NamexUnitLicenseSourceRemarks
    vbUnitCommercialVisual Basic and COM objects
    vbUnitFreeLGPLVisual Basic and COM objects
    VbaUnitBSDVisual Basic for Applications
    ExcelVbaUnitLGPLSimilar to VbaUnit, but specifically for testing Excel VBA (written as an Excel add-in)
    TinyUnitVisual Basic 6, VB .NET, and PHP5
    SimplyVBUnit
    NamexUnitSourceRemarks
    RBUnit
    NamexUnitTAPFixturesGroup fixturesGenerators YearSourceLicenseRemarks
    AceUnitYesYes (spectypes)Yes MITBDD test framework with TAP output in a single header file.
    Cantata++YesYes Apache Licenselibcbdd is a block-based Behavior-driven development library which allows for very readable tests. Tests are written inside main functions. Works only with clang and the libblocksruntime extension.
    cfixYes 2012BSDHeader-only unit testing framework. Multi-platform. Supports running each test in a separate process. Works without needing to "register" test cases.
    CheckYesYesYesYesYesYesYes 2018LGPLForked from CUnit in 2018 to provide ongoing development and support. OS independent (Windows, Linux, macOS, Solaris, HP-UX, AIX and probably others). Also supports output compatible with JUnit and in most cases can be a drop in replacement for CUnit.
    CUnitWin32Yes LGPLA Unit Testing Framework for C.
    EmbeddedUnitNo ProprietaryCreate unit tests for C/C++ and Embedded C++
    FCTXYes Part of GLib
    GUnit for GNOME
    HammockingYesYesNoNo BSDmultiplatform (Unix, Windows); explicit test case/suite dependencies; parallel and sandboxed execution; xml, txt and customizable report formatting.
    Mimicc Proprietary Fully automated mock generation for C and C++. Based on clang, provides the ability to compile header files straight into linkable mock object files and control them with an accompanying API.
    MinUnit MITextreme minimalist unit testing using 2 C macros
    MutNoYesYesYes GPLv3Stubbing 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.
    Parasoft C/C++testYesYesYesNoNo Public domainFramework for C89/C++ featuring automatic registration of tests and a polished API.
    RK TestYes MITSimple, pure C, unit testing framework
    Smarttester ProprietaryAutomated unit and integration testing, and code coverage
    Sput 2-clause BSD

    Simple, portable C unit testing framework, single header file

    STRIDEYesYesYes MITA Micro Unit testing framework for C/C++. At ~1k lines of code, it is simpler, lighter and much faster than heavier frameworks like Googletest and Catch2. Includes a rich set of assertion macros, supports automatic test registration and can output to multiple formats, like the TAP format or JUnit XML. Supports Linux, macoOS, FreeBSD, Windows.
    TESSY ProprietaryAutomated unit and integration testing, and code coverage focused on embedded systems
    TestApe Test and mocking framework. Automatic default mocks for unresolved externals
    Test Dept.Yes 2012GNU Lesser GPLPure C, supports test isolation in separate processes
    TheftYesYes ProprietaryTime Partition Testing: Automated model based unit and integration testing for embedded systems. For C code under test, TPT supports automatic test frame generation including automatic interface analysis as well as automatic test execution, evaluation and logging.
    UnityYesYesYes Unit-Testing Add-In for Visual Studio. Based on the cfix testing framework.
    qc

    See .NET languages below.

    C++

    edit
    No
    No Yes GNU LGPL Yes (spectypes) Yes Yes 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 Yes (describe) No No Yes Rozental, Gennadiy and Enficiaud, Raffi [https://www.boost.org/doc/libs/1_68_0/libs/test/doc/html/boost_test/tests_organization/fixtures.html \"Boost Test Fixture Documentation\"].</ref>"]}'>Yes Rozental, Gennadiy and Enficiaud, Raffi [https://www.boost.org/doc/libs/1_68_0/libs/test/doc/html/boost_test/tests_organization/fixtures/case.html \"Boost Test Case Fixture\"].</ref><ref>Rozental, Gennadiy and Enficiaud, Raffi [https://www.boost.org/doc/libs/1_68_0/libs/test/doc/html/boost_test/tests_organization/fixtures/per_test_suite_fixture.html \"Boost Test Suite Entry/Exit Fixture\"].</ref>"]}'>Yes Yes Suites and labels Part of Boost. Powerful dataset concept for generating test cases. Different levels of fixtures (global, once per test suite, once per each test case in a suite). Powerful floating point comparison.
    BugEye No No No Yes Yes Yes No No Yes Boost Yes Yes Yes Header only, no external dependencies, auto-registration, tdd and bdd features
    CATCH-VC6 Yes Yes Yes VC6 port of CATCH
    cfix No Yes Yes Yes No Suites Library and MS Visual Studio add-in to create and run unit tests. Open Source.
    CPPOCL/test Yes Yes Released Under Apache 2.0, compliant with C++ 98 and C++ 11. Works for Linux, Windows 32/64 bit using gcc, Cygwin, VS2005, VS2015. Header file only library. Provides ability to write performance tests in a similar way to unit tests. Has some support for reporting memory leaks.
    CppTest Yes Suites Released under LGPL
    cpptest-lite Yes Yes No Yes Yes Yes No Suites 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 No No Suites
    CPUnit Yes Yes Yes Released under BSD.
    Criterion Yes No Yes Suites 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. Supports Linux, macOS, FreeBSD, Windows.
    libcester Yes Yes No File A robust header only unit testing framework for C and C++ programming language. Support function mocking, memory leak detection, crash report. Works on various platforms including embedded systems and compatible with various compilers. Outputs to multiple format like TAP, JunitXML, TAPV13 or plain text.
    crpcut No Yes Suites within Suites 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 No Yes Suites 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 Yes Yes* Optional MIT Yes Yes Yes Light, feature rich C++ single header testing framework
    Embunit Yes Commercial. Create unit tests for C/C++ and Embedded C++
    Exercisix No No Yes Executables Goal: make adding tests as fast and easy as possible.
    FakeIt Yes No Yes No Yes Yes Yes Yes
    Google Test Yes Yes Yes No Yes No Yes (Contexts) No Yes Yes No Yes Yes No Yes Yes No Yes Yes No Yes Yes Fully automated mock generation for C and C++. Based on clang, provides the ability to compile header files straight into linkable mock object files and control them with an accompanying API.
    Mockator Yes Yes Yes Yes A C++ mock object framework providing similar syntax to mockito for Java.
    mockpp Yes Yes Yes No Yes Suites Proof-of-concept
    NullUnit Yes Yes No Yes (XML) Yes Yes Yes Yes Yes Yes Yes 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.
    snitch Yes No Yes Yes No No No No Yes Yes No No Yes Yes No Yes
    STRIDE Proprietary Yes Yes Yes Commercial. Embedded software quality solution that includes techniques for unit, API, Behavior & Integration testing as well as interactive reporting portal
    Name License xUnit Fixtures Group fixtures Generators Mocks Exceptions Macros Templates Grouping Source Remarks
    Symbian OS Unit Yes Yes Yes Yes Yes Yes No Auto-detect Yes Yes Yes Yes Optional Yes Yes Depends Boost No No Yes Templates Based on templates. Automatic test registration/discovery, customizable reports generation process, various tests run options. Easy adaptable to work on Windows CE.
    Typemock Isolator++ Yes Yes Commercial. Isolation/Mocking Framework for C/C++
    Unit++
    unit.hpp No Yes No No Yes Suites UnitTest++ is free software. Simplicity, portability, speed, and small footprint are all important aspects of UnitTest++.
    upp11 No Yes Yes Free software. Minimal (single small header), auto test registrations, parametrized tests, etc. C++11 only.
    UquoniTest Proprietary Yes Yes Yes Commercial. Adds features like easy creation of (reusable) test directories, Rich Booleans in assertions, and more.
    μt Yes No Yes Yes Yes Yes Yes No No Unit-Testing Add-In for Visual Studio. Based on the cfix testing framework.
    WinUnit Focused more toward C/C++ than .NET developers
    Name License xUnit Fixtures Group fixtures Generators Mocks Exceptions Macros Templates Grouping Source Remarks
    xTests Yes Yes Yes Suites and Attributes"]}'>Yes,
    Suites and Attributes
    Supports running tests concurrently. Macros are used for test setup only, not for test assertions.
    tinytest Yes Standalone, no dependencies, header-only.
    sTest Yes NoEnable isolated unit testing of individual paragraphs in COBOL programs, in a standalone environment with no connection to a z/OS system. Distributed under GNU General Public License.
    ECBLUnitNoCommercial tool (rather than a framework) to edit and perform component tests on the IBM mainframe platform
    Topaz for Total TestYesCommercial framework for testing Micro Focus COBOL programs on the Windows/Unix platforms
    CC Analyzer No Commercial Code Coverage Analysis tool. Supports IBM mainframe, Windows, Unix platforms

    ColdFusion (CFML)

    edit
    Yes
    MXUnitNoMocking/Stubbing Framework for CFML (ColdFusion)

    Crystal

    edit
    NamexUnitSourceRemarks
    test
    dartunit
    NamexUnitSourceRemarks
    DFUnit
    NameLicenseSourceRemarks
    DUnit"AS IS"Support FastMM4
    DUnitXApache 2.0Support FastMM4, FastMM5, Delphi-Mocks

    ECMAScript

    edit
    Yes
    Unit testing for ActionScript 3 (also JavaScript, ActionScript 1 & 2), that can also run on the command-line with a cross-platform executable (supports macOS, Linux, Windows)
    AsUnitFlash Players 6, 7, 8, 9 and 10
    dpUIntUnit and Integration testing framework for Flex 2 and 3
    FluintUnit and Integration testing framework for Flex 2 and 3
    morefluentMore fluent testing of asynchronous behaviors in Flex
    mojotest
    NamexUnitSourceRemarks
    munitProduces HTML reports for multiple compile targets including JavaScript, ActionScript and C++
    hexUnit

    JavaScript

    edit
    Yes
    YesFuturistic JavaScript test runner
    SuitestYesYesNoYesNoPort of Enhance PHP
    QUnitYesjQuery test harness
    Unit.jsCompatibleYesUnit 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, ...
    RhUnitNoNo
    MochaYesYesYesYesYesNoscript.aculo.us javascript test harness
    JSpecYesNoRequires jQuery
    TapeYesYesNoNoWrite TAP-emitting unit tests in JavaScript and run them in your browser.
    Test.MoreYesNo
    TestItYesYesBased on TestCase but without the Prototype dependency
    JSTestNoNoNoNoYesYesYesYesStandalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework.
    SOAtestNoCommercial. 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.
    VowsYesYesTesting framework which allows expressive assertions and interactive test output
    wruCompatibleYesYesYesBDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.
    JSUSYesYesProperty Based Testing framework, similar to QuickCheck.
    unexpectedYesYesVery small but powerful JavaScript unit test framework (129 lines of code, 2.3KB zipped).
    RITEwayYesYesYesNoRandom testing (Fuzzing) combinator library based on QuickCheck for Haskell.
    FsMocksNoStand-alone Behavior Driven Development framework, with natural syntax for writing specifications.
    NaturalSpec
    View original on Wikipedia | Back | FazBrowse Home