Table of Contents
- How to Contribute
To use this in your project, run:
npm install --save-dev ts-jest
Modify your project's
package.json so that the
jest section looks something like:
This setup should allow you to write Jest tests in Typescript and be able to locate errors without any additional gymnastics.
jest does not provide code coverage remapping for transpiled codes, so if you'd like to have code coverage it needs additional coverage remapping. This can be done via writing custom processing script, or configure
testResultsProcessor to use built-in coverage remapping in
Note: If you're experiencing remapping failure with source lookup, it may due to pre-created cache from
jest. It can be manually deleted, or execute with
--no-cacheto not use those.
There is a few additional steps if you want to use it with React Native.
npm install -D babel-jest babel-preset-react-native
jest section, the
transform should be like this:
By default this package will try to locate
tsconfig.json and use its compiler options for your
But you are able to override this behaviour and provide another path to your config for TypeScript by using
__TS_CONFIG__ option in
Or even declare options for
tsc instead of using separate config, like this:
Note that the
module property will be overwritten to
commonjs since that is the format Jest expects.
When using Jest with Angular (a.k.a Angular 2) apps you will likely need to parse HTML templates. If you're unable to add
html-loader to webpack config (e.g. because you don't want to eject from
angular-cli) you can do so by defining
__TRANSFORM_HTML__ key in
You'll also need to extend your
transform regex with
For all available options see TypeScript docs.
Known limitations for TS compiler options
- You can't use
"target": "ES6"while using
node v4in your test environment;
- You can't use
"jsx": "preserve"for now (see progress of this issue);
- If you use
"baseUrl": "<path_to_your_sources>", you also have to change
jest configa little bit:
How to Contribute
If you have any suggestions/pull requests to turn this into a useful package, just open an issue and I'll be happy to work with you to improve this.
Quickstart to run tests (only if you're working on this package)
git clone https://github.com/kulshekhar/ts-jestcd ts-jestnpm installnpm test