项目作者: K-FOSS

项目描述 :
Lightweight testing framework for use with @K-FOSS/TS-ESNode
高级语言: TypeScript
项目地址: git://github.com/K-FOSS/TS-ESTests.git
创建时间: 2020-04-02T16:29:47Z
项目社区:https://github.com/K-FOSS/TS-ESTests

开源协议:MIT License

下载


@K-FOSS/TS-ESTests

semantic-release
Code Quality
code style: prettier
@k-foss/ts-estests" alt="Libraries.io dependency status for latest release, scoped npm package">
Conventional Commits
Dependabot

@K-FOSS/TS-ESTests is a lightweight testing framework for use with ESNext & ESModules code. Orignally created within my @K-FOSS/TS-ESNode repo for testing.

Usage

This is an ESModule and requires Node.JS 13.9 or newer

Install the module

  1. npm install @k-foss/ts-estests

Test Suite [Tests/Add.test.ts]

  1. // Tests/AddTest/add.test.ts
  2. import { TestSuite } from '@k-foss/ts-estests';
  3. import { strictEqual } from 'assert';
  4. import { add } from '../src/Add';
  5. export class AddTest extends TestSuite {
  6. public testName = 'addTest';
  7. public async test(): Promise<void> {
  8. strictEqual(add(1, 1), 2, 'add(1, 1) === 2');
  9. strictEqual(add(1, 2), 3, 'add(1, 2) === 3');
  10. strictEqual(add(5, 5), 10, 'add(5, 5) === 10');
  11. }
  12. }

Source file your testing src/Add.ts

  1. // src/Add.ts
  2. export function add(a: number, b: number): number {
  3. return a + b;
  4. }

Example package.json

  1. {
  2. "type": "module",
  3. "scripts": {
  4. "test": "ts-estest ./Tests"
  5. }
  6. }

Development

Setting up the development container

Follow these steps to open this project in a container:

  1. If this is your first time using a development container, please follow the getting started steps.

  2. To use this repository, you can either open the repository in an isolated Docker volume:

    • Press F1 and select the Remote-Containers: Open Repository in Container… command.
    • Enter K-FOSS/TS-ESTests
    • The VS Code window (instance) will reload, clone the source code, and start building the dev container. A progress notification provides status updates.

    Or open a locally cloned copy of the code:

    • Clone this repository to your local filesystem.
      • git clone https://github.com/K-FOSS/TS-ESTests.git
    • Open the project folder in Visual Studio Code.
      • code ./TS-ESTests
    • Reopen in Container

      • When you open the project folder in Visual Studio Code you should be prompted with a notification asking if you would like to reopen in container.

      Or manually reopen

      • Press F1 and select the “Remote-Containers: Open Folder in Container…” command.

TODO

TBD

Testing

MUST HAVE NODE.JS v13.9 or newer

To try this out, clone repo

Install NPM modules

  1. npm install

Run all tests under ./Testing/Tests/

  1. npm test

All tests are run on all commits and PRs.

Style

This project currently uses Prettier for code styling and automatic formatting. Prettier is run on every commit and pull request.

Run Prettier

  1. npm run prettier

Linting

This project currently uses ESLint for code linting. ESLint is run on every commits and pull request.

Run ESLint

  1. npm run lint

Dependency Management

Dependency Management for TS-ESTests is handled by automated pull requests created by Dependabot. When new released of development Dependencies are released Dependabot automatically creates a pull request for upgrading to the new version. If the created pull request passes the GitHub Actions testing, prettier/styling, and linting I will merge the pull request.

Releases

@K-FOSS/TS-ESTests uses semantic-release to intelligently automate the creation of a changelog, automatic package publish to NPM, along with creating a GitHub release and tag.

Semantic-Release is currently configured to analyze commits with the Conventional Commits preset to determine if and how the package version should be incremented and if a release should be published, which is why it is important to mantain the Conventional Commits spec for all commits.