@awesome-nodes/unittest
v1.0.0
Published
Unittest OO framework for converting functional unittest lifecycle hooks into callable object model signatures.
Downloads
3
Readme
🔎 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.ts
file 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.ts
import { 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.
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
Download
git clone git+ssh://[email protected]/awesome-nodes/unittest.git
Install
cd unittest
npm install
Usage
npm run start
Run Unit Tests
Single Run:
npm run test
Run in watch mode:
npm run test:w
Run TypeScript Check
Single Run:
npm run tscheck
Run in watch mode:
npm run tscheck:w
Run Circular Dependency Check
npm run tscheck:circular
Run Coding Style Tests
npm run eslint
Run 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 build
Deployment
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 [email protected] - 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