Using ts-node and tsconfig-paths to run mocha over Typescript test files

This commit is contained in:
brisberg
2020-08-07 14:27:57 -07:00
parent 8ca88dbf08
commit d776105757
7 changed files with 10 additions and 91 deletions

View File

@@ -61,7 +61,7 @@ In `package.json`, add a new `test-integration` script and add the new integrati
```json
"scripts": {
"test": "npm run test-unit && npm run test-integration",
"test-integration": "npm run build && rollup -c rollup.test-integration-config.js && mocha dist/test-integration.bundle.js",
"test-integration": "npm run build && TS_NODE_PROJECT='./tsconfig.test.json' mocha ./test/integration/**/*.ts",
}
```

View File

@@ -11,7 +11,7 @@
"push-pserver": "rollup -c --environment DEST:pserver",
"push-sim": "rollup -c --environment DEST:sim",
"test": "npm run test-unit",
"test-unit": "rollup -c rollup.test-unit-config.js && mocha dist/test-unit.bundle.js",
"test-unit": "TS_NODE_PROJECT='./tsconfig.test.json' mocha test/unit/**/*.ts",
"test-integration": "echo 'See docs/in-depth/testing.md for instructions on enabling integration tests'",
"watch-main": "rollup -cw --environment DEST:main",
"watch-pserver": "rollup -cw --environment DEST:pserver",
@@ -32,7 +32,6 @@
},
"devDependencies": {
"@rollup/plugin-commonjs": "^11.1.0",
"@rollup/plugin-multi-entry": "^3.0.0",
"@rollup/plugin-node-resolve": "^7.1.3",
"@types/chai": "^4.1.6",
"@types/lodash": "3.10.2",
@@ -54,14 +53,13 @@
"mocha": "^5.2.0",
"prettier": "^2.0.4",
"rollup": "^2.6.1",
"rollup-plugin-buble": "^0.19.8",
"rollup-plugin-clear": "^2.0.7",
"rollup-plugin-nodent": "^0.2.2",
"rollup-plugin-screeps": "^1.0.0",
"rollup-plugin-typescript2": "^0.27.0",
"sinon": "^6.3.5",
"sinon-chai": "^3.2.0",
"ts-node": "^8.8.2",
"tsconfig-paths": "^3.9.0",
"typescript": "^3.8.3"
},
"dependencies": {

View File

@@ -1,34 +0,0 @@
"use strict";
import clear from 'rollup-plugin-clear';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from 'rollup-plugin-typescript2';
import buble from 'rollup-plugin-buble';
import multiEntry from '@rollup/plugin-multi-entry';
import nodent from 'rollup-plugin-nodent';
export default {
input: 'test/integration/**/*.test.ts',
output: {
file: 'dist/test-integration.bundle.js',
name: 'lib',
sourcemap: true,
format: 'iife',
globals: {
chai: 'chai',
it: 'it',
describe: 'describe'
}
},
external: ['chai', 'it', 'describe'],
plugins: [
clear({ targets: ["dist/test.bundle.js"] }),
resolve(),
commonjs(),
typescript({tsconfig: "./tsconfig.test-integration.json"}),
nodent(),
multiEntry(),
buble()
]
}

View File

@@ -1,32 +0,0 @@
"use strict";
import clear from 'rollup-plugin-clear';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from 'rollup-plugin-typescript2';
import buble from 'rollup-plugin-buble';
import multiEntry from '@rollup/plugin-multi-entry';
export default {
input: 'test/unit/**/*.test.ts',
output: {
file: 'dist/test-unit.bundle.js',
name: 'lib',
sourcemap: true,
format: 'iife',
globals: {
chai: 'chai',
it: 'it',
describe: 'describe'
}
},
external: ['chai', 'it', 'describe'],
plugins: [
clear({ targets: ["dist/test.bundle.js"] }),
resolve(),
commonjs(),
typescript({tsconfig: "./tsconfig.json"}),
multiEntry(),
buble()
]
}

View File

@@ -1,5 +1,6 @@
--require test/setup-node.js
--require ts-node/register
--require tsconfig-paths/register
--ui bdd
--reporter spec

View File

@@ -1,20 +0,0 @@
{
"compilerOptions": {
"module": "esnext",
"lib": ["esnext"],
"target": "es5",
"moduleResolution": "Node",
"outDir": "dist",
"baseUrl": "src/",
"sourceMap": true,
"strict": true,
"experimentalDecorators": true,
"noImplicitReturns": true,
"noImplicitAny": false,
"allowSyntheticDefaultImports": true,
"allowUnreachableCode": false
},
"exclude": [
"node_modules"
]
}

6
tsconfig.test.json Normal file
View File

@@ -0,0 +1,6 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "CommonJs"
}
}