Unit Testing Framework - JavaScript


摘自:List of unit testing frameworks






































































































































































































































































































































































Name

xUnit

TAP

Client-side

Server-side

Source

Remarks

Suitest







Yes

Yes

[106]

Suitest is a powerful and easy-to-use JavaScript BDD test suite

DOH







Yes

Yes

[107]

Dojo Objective Harness that can be run in-browser or independently via Rhino

LBRTW UT




No

Yes

No

[118] [119]

Developed as a learning project

JSUnit

Yes

No

Yes

No

[120]

JSUnit is no longer actively maintained

Enhance JS

Yes

No

Yes

No

[108]

Port of Enhance PHP

QUnit







Yes

Yes

[121]

jQuery test harness

RhUnit







Yes

Yes

[122]

QUnit compatible Rhino/JUnit framework

Crosscheck







No

Yes

[109]

Browserless Java-based framework

J3Unit







Yes

No

[123]




Mocha

No

Yes

Yes

Yes

[124]




intern

No

Yes

Yes

Yes

[125]




JSNUnit







Yes

No

[110]




YUI Test

Yes

Yes

Yes

Yes

[111]




JSSpec







Yes

No

[112]

Behaviour-driven development framework

UnitTesting







Yes

No

[113]

script.aculo.us javascript test harness

JSpec







Yes

Yes

[126]

Highly readable BDD, 50+ matchers, DOM / framework independent, async, rhino, node.js support and more (no longer maintained)

Jasmine







Yes

Yes

[127]

BDD, framework independent, easy integration with Ruby projects and
continuous builds. Allows for both DOM-less testing and asynchronous
testing.

screw-unit







Yes

No

[114]

Requires jQuery

Test.Simple

No[115]

Yes

Yes

No

[116]

Write TAP-emitting unit tests in JavaScript and run them in your browser.

Test.More

No[1]

Yes

Yes

No

[117]

Write TAP-emitting unit tests in JavaScript and run them in your web browser.

TestCase







Yes

No

[118]




TestIt







Yes

Yes

[119]

Light-weight, non-polluting, and easy to set up and use

jsUnitTest







Yes

Yes[120]




Based on TestCase but without the Prototype dependency

JSTest







Yes

No

[121]

Light-weight, non-polluting browser-based framework

JSTest.NET







No

Yes

[128]

Browserless JavaScript unit test runner for use with MsTest, XUnit, NUnit, etc.

jsUnity

Yes

No

Yes

Yes

[129]

Context-agnostic (JavaScript, JScript (ASP/WSH), Rhino, etc.)

RhinoUnit







No

Yes

[122]

Rhino-based framework that allows tests to be run in Ant

JasUnit

Yes

No

Yes

No

[123]

Light-weight framework. Part of a project that provides Mocks and IoC.)

FireUnit







Yes

No

[130]

Testing framework that provides logging and viewing within a new tab of Firebug.

Js-test-driver

Yes




Yes

No

[124]

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

[131]

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

[132]

Standalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework.

SOAtest

No




Yes

No

[95]

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

[133]




Nodeunit







Yes

Yes

[125]

Asynchronous Javascript testing framework

Tyrtle







Yes

Yes

[134]

Testing framework which allows expressive assertions and interactive test output

wru

Compatible




Yes

Yes

[126]

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

[135]

BDD/xUnit, assertions, expectations, browser/server, extendable with
tools like linting and other QA measures, highly configurable, well
documented and actively developed