What is testdeck?

testdeck is a decorator based wrapper around your favourite JavaScript test framework.

With testdeck, you can write your tests object-orientedly, effectfully making use of inheritance to encapsulate test suite behaviour.

testdeck supports browser based testing using for example Karma.

testdeck makes no assumptions on the assertion/expectation frameworks that you want to use.

testdeck is also the official successor of mocha-typescript, so if you have been using that before, you can now simply switch to @testdeck/mocha and your existing tests will work right out of the box.

import { suite, test } from '@testdeck/mocha';
import { assert } from 'chai';

class TestSuite {

  someTest() {

No Limits

While testdeck was written using TypeScript, it can be used with also Babel or any other transpiled language that features support for decorators.

We have compiled for you multiple example projects, called seeds, that you can find on GitHub.

Check these out to find out more about how to integrate testdeck with your existing technology stack.

And if you need more seeds, feel free to issue a feature request or even provide us with a seed of your own.

Supported Test Frameworks

testdeck already supports the most used test frameworks.

To find out more, see the setup guide or use one of the links below.


And here are the guys and gals, trees and cats and …, who have contributed to testdeck and mocha-typescript in the past.

And while it may seem that projects on GitHub sometimes seem to be run by automatons, this is definitely not the case.

We could not have done it without you. Thank you for your invaluable input.