Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/testdeck/testdeck
Object oriented testing
https://github.com/testdeck/testdeck
decorators dependency-injection ioc jasmine javascript jest mocha mocha-typescript oop parameterised-tests tdd tdd-interfaces testing testing-tools typescript
Last synced: 7 days ago
JSON representation
Object oriented testing
- Host: GitHub
- URL: https://github.com/testdeck/testdeck
- Owner: testdeck
- License: apache-2.0
- Created: 2016-04-05T09:38:18.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2022-12-14T13:02:34.000Z (about 2 years ago)
- Last Synced: 2024-12-30T09:08:53.952Z (14 days ago)
- Topics: decorators, dependency-injection, ioc, jasmine, javascript, jest, mocha, mocha-typescript, oop, parameterised-tests, tdd, tdd-interfaces, testing, testing-tools, typescript
- Language: TypeScript
- Homepage: https://testdeck.github.io/docs/
- Size: 870 KB
- Stars: 233
- Watchers: 5
- Forks: 41
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jest - @testdeck/jest - jest-seed) for you to start with. (Packages / Library extensions)
README
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Build Status](https://github.com/testdeck/testdeck/actions/workflows/ci.yml/badge.svg)](https://github.com/testdeck/testdeck/actions/workflows/ci.yml)
[![Issues](https://img.shields.io/github/issues/testdeck/testdeck.svg)](https://github.com/testdeck/testdeck/issues)
[![Pull Requests](https://img.shields.io/github/issues-pr/testdeck/testdeck.svg)](https://github.com/testdeck/testdeck/pulls)# ![Testdeck](https://raw.githubusercontent.com/testdeck/testdeck/main/docs/assets/testdeck-wide.svg)
Testdeck is a suite of decorators to integrate your favorite test framework into an object-oriented workflow:
- [Mocha](https://mochajs.org)
- [Jasmine](https://jasmine.github.io)
- [Jest](https://jestjs.io)
- [Vitest](https://vitest.dev)## Object-Oriented API Usage
With Testdeck, writing object-oriented test suites is just a blaze.``` TypeScript
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:``` TypeScript
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
- [Documentation](https://testdeck.org)
- [CHANGELOG](https://github.com/testdeck/testdeck/blob/main/CHANGELOG.md)
- [LICENSE](https://github.com/testdeck/testdeck/blob/main/LICENSE)## License
```
Copyright 2016-2022 Testdeck Team and ContributorsLicensed 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 athttp://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:- [@testdeck/core](https://github.com/testdeck/testdeck/tree/main/packages/core)
Used for integrating [new] test frameworks and IOC frameworks.
- [@testdeck/mocha](https://github.com/testdeck/testdeck/tree/main/packages/mocha)Mocha test framework integration.
- [@testdeck/jasmine](https://github.com/testdeck/testdeck/tree/main/packages/jasmine)Jasmine test framework integration.
- [@testdeck/jest](https://github.com/testdeck/testdeck/tree/main/packages/jest)Jest test framework integration.
- [@testdeck/vitest](https://github.com/testdeck/testdeck/tree/main/packages/vitest)Vitest test framework integration.
- [@testdeck/di-typedi](https://github.com/testdeck/testdeck/tree/main/packages/di-typedi)TypeDI IOC container integration.