espower-typescript

    10.0.0 • Public • Published

    espower-typescript

    power-assert instrumentor for TypeScript

    npm version Node.js Version Support TypeScript Version Support build status Dependency Status monthly downloads License

    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

    Install

    npm i espower-typescript

    DownloadsWeekly Downloads

    8,324

    Version

    10.0.0

    License

    MIT

    Unpacked Size

    7.65 kB

    Total Files

    4

    Last publish

    Collaborators

    • twada
    • teppeis