Awesome
Testdeck is a suite of decorators to integrate your favorite test framework into an object-oriented workflow:
Object-Oriented API Usage
With Testdeck, writing object-oriented test suites is just a blaze.
import { suite, test } from "@testdeck/mocha";
import { expect } from 'chai';
class TestBase {
@test
basic() {
// expected fail :/
expect(true).to.equal(false);
}
}
@suite
class Hello extends TestBase {
@test
world() {
// expected fail :/
expect(false).to.equal(true);
}
}
Standard Functional API Usage
With Testdeck, you can always use the standard functional test framework API:
import { expect } from 'chai';
function basic() {
it('basic', () => {
// expected fail :/
expect(true).to.equal(false);
});
}
describe('Hello', () => {
basic();
it('world', () => {
// expected fail :/
expect(false).to.equal(true);
});
})
And you can migrate your functional test suites to object-oriented over time.
Further Reading
License
Copyright 2016-2022 Testdeck Team and Contributors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Packages
Testdeck is the monorepo for the following packages:
-
Used for integrating [new] test frameworks and IOC frameworks.
-
Mocha test framework integration.
-
Jasmine test framework integration.
-
Jest test framework integration.
-
Vitest test framework integration.
-
TypeDI IOC container integration.