@awesome-nodes/unittest v1.0.0
🔎 Unittest OO framework for converting functional unittest lifecycle hooks into callable object model signatures Provides implementation of reusable test case signatures.
🏠 Homepage
✨ Demo
Write Awesome Unittests
Inject the lifecycle functions of your unittest framework (jest, jasmine, mocha, ...)
- afterAll
- afterEach
- beforeAll
beforeEach
Example:
Create an
index.tsfile located at your unittest configuration directory (usuallysrc/unittest) and paste the following contents:
import { AFTER_ALL_TOKEN, AFTER_EACH_TOKEN, BEFORE_ALL_TOKEN, BEFORE_EACH_TOKEN } from '@awesome-nodes/unittest'; AFTER_ALL_TOKEN.scope.addProvider({ provide: AFTER_ALL_TOKEN, useValue: afterAll, scope: AFTER_ALL_TOKEN.Scope }); AFTER_EACH_TOKEN.scope.addProvider({ provide: AFTER_EACH_TOKEN, useValue: afterEach, scope: AFTER_EACH_TOKEN.Scope }); BEFORE_ALL_TOKEN.scope.addProvider({ provide: BEFORE_ALL_TOKEN, useValue: beforeAll, scope: BEFORE_ALL_TOKEN.Scope }); BEFORE_EACH_TOKEN.scope.addProvider({ provide: BEFORE_EACH_TOKEN, useValue: beforeEach, scope: BEFORE_EACH_TOKEN.Scope }); export * from '@awesome-nodes/unittest';Adjust your
tsconfig.json{ "compilerOptions": { "paths": { "unittest": ["src/unittest"], } } }Write awesome unittests
AwesomeTestCase.spec.tsimport { itShould, TestCase } from 'unittest';
class AwesomeTestCase extends TestCase
{
test(): void
{
itShould('test things the awesome way', () =>
{
// Arrange
// Act
// Assert
});
}} new AwesomeTestCase;
A full example is available in [src/unittest/TestCase.spec.ts][UnittestExample].
## Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing
purposes. See deployment for notes on how to deploy the project on a live system.
### Prerequisites
* Node.js (Version >= 12) ([Download](https://nodejs.org/en/download/))
* Git (Version >= 2) ([Download](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git))
### Downloadgit clone git+ssh://git@gitlab.com/awesome-nodes/unittest.git
### Install
```bash
cd unittest
npm installUsage
npm run startRun Unit Tests
Single Run:
npm run testRun in watch mode:
npm run test:wRun TypeScript Check
Single Run:
npm run tscheckRun in watch mode:
npm run tscheck:wRun Circular Dependency Check
npm run tscheck:circularRun Coding Style Tests
npm run eslintRun Build
The build output contains three kinds of library variants:
- ES5 for NodeJS applications
- ES6 for tree shaking builds
- and a UMD bundle for web applications
npm run buildDeployment
Deployment is done by publishing the npm package using:
npm publish
Built With
- BuildSystem - Integrated Zero Configuration Build System for Awesome Nodes Apps and Framework Components
👤 Authors
- Christian Kusmanow christian.kusmanow@teslasoft.de - Initial work - Teslasoft
See also the list of contributors who participated in this project.
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check our issues page.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Please read the DEVELOPING.md for details on how to develop this repository.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Show your support
Give a ⭐️ if this project helped you!
License
This README was generated initially with ❤️ by readme-md-generator
4 years ago