espower-typescript v10.0.1
espower-typescript
power-assert instrumentor for TypeScript
TypeScript versions
espower-typescript v10.x is compatible with TypeScript v2.7+
Usage (zero-config mode)
Install
$ npm install -D espower-typescript power-assert mocha typescript @types/node @types/mocha
Create a test file (intensionally failed)
// test/test.ts
import assert = require('assert');
describe('Array#join', () => {
it('joins all elements into a string with separator', () => {
assert(['a', 'b', 'c'].join(':') === 'a:b:c:');
});
});
Run test
$ ./node_modules/.bin/mocha --require espower-typescript/guess "test/**/*.ts"
Output
1) Array#join
joins all elements into a string with separator:
AssertionError [ERR_ASSERTION]: # test.ts:6
assert(['a','b','c'].join(':') === 'a:b:c:')
| | |
["a","b","c"] "a:b:c" false
CAUTION: don't use import assert from 'assert'
Just use old style import assert = require('assert')
for assert module.
This is limitation.
Configure
If your tests are not in test
directory
You can set test directory in your package.json
{
"name": "your-module",
"description": "Your module",
"version": "0.0.1",
"directories": {
"test": "spec/"
},
...
}
Then, run mocha with --require espower-typescript/guess
$ ./node_modules/.bin/mocha --require espower-typescript/guess "spec/**/*.ts"
Note: 'espower-typescript/guess'
is inspired by intelli-espower-loader
ts-node and tsconfig.json
espower-typescript uses ts-node internally. It loads your tsconfig.json automatically.
Disable type check (transpile only)
Use TS_NODE_TRANSPILE_ONLY
env of ts-node
$ TS_NODE_TRANSPILE_ONLY=1 ./node_modules/.bin/mocha --require espower-typescript/guess "test/**/*.ts"
JSX/React
.tsx
files are supported.
allowJs
If allowJs: true
in your tsconfig.json
, assertions in test/**/*.(js|jsx)
are empowered.
License
- MIT License: Teppei Sato <teppeis@gmail.com>
- Includes yosuke-furukawa/espower-traceur
- Includes azu/espower-babel
3 years ago
5 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago