Use `test/tsconfig.json` with ts-node for testing.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
src
test
.gitignore
.travis.yml
LICENSE
README.md
package.json
renovate.json
tsconfig.json
yarn.lock

README.md

ts-node-test-register Build Status

Use test/tsconfig.json with ts-node for testing.

Features

Load test/tsconfig.json

This register library load tsconfig.json file by following priority.

  • project/{test}/tsconfig.test.json
  • project/{test}/tsconfig.json
  • project/tsconfig.test.json
  • project/tsconfig.json

{test} is test directory by default.

You can specified the {test} by directories of package.json.

  "directories": {
    "test": "test"
  },

Notes: Why need to load different tsconfig.json between main and test?

In some times, we use different tsconfig.json between main code and test code.

For example, you can enable allowJs in test code. It supports gradual migration that convert JavaScript to TypeScript.

Type Check by default

ts-node(v4) disable type-check by default.This behavior is reverted in v6.0.0

The motivation is based on so not good experience.

This register library supports Mike Haas's opinion.

test code is still code, if there's type errors in such test code, shouldn't it fail? -- https://github.com/kulshekhar/ts-jest/issues/79#issuecomment-355397865

Install

Install with npm:

npm install ts-node ts-node-test-register --save-dev

⚠️ ts-node is peerDependencies.
You need to install ts-node.

Usage

Using with mocha.

mocha --require ts-node-test-register "test/**/*.ts"

Or define --require ts-node-test-register to mocha.opts.

├── package.json
├── src
│   └── index.ts
└── test
    ├── mocha.opts (--require ts-node-test-register)
    ├── tsconfig.json // <= load this tsconfig.json
    └── index-test.ts

For more details, see example.

Changelog

See Releases page.

Running tests

Install devDependencies and Run yarn test:

yarn test
yarn run test:example

Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, please create an issue.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu