Using ts-node and tsconfig-paths to run mocha over Typescript test files
This commit is contained in:
@@ -61,7 +61,7 @@ In `package.json`, add a new `test-integration` script and add the new integrati
|
|||||||
```json
|
```json
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "npm run test-unit && npm run test-integration",
|
"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",
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"push-pserver": "rollup -c --environment DEST:pserver",
|
"push-pserver": "rollup -c --environment DEST:pserver",
|
||||||
"push-sim": "rollup -c --environment DEST:sim",
|
"push-sim": "rollup -c --environment DEST:sim",
|
||||||
"test": "npm run test-unit",
|
"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'",
|
"test-integration": "echo 'See docs/in-depth/testing.md for instructions on enabling integration tests'",
|
||||||
"watch-main": "rollup -cw --environment DEST:main",
|
"watch-main": "rollup -cw --environment DEST:main",
|
||||||
"watch-pserver": "rollup -cw --environment DEST:pserver",
|
"watch-pserver": "rollup -cw --environment DEST:pserver",
|
||||||
@@ -32,7 +32,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-commonjs": "^11.1.0",
|
"@rollup/plugin-commonjs": "^11.1.0",
|
||||||
"@rollup/plugin-multi-entry": "^3.0.0",
|
|
||||||
"@rollup/plugin-node-resolve": "^7.1.3",
|
"@rollup/plugin-node-resolve": "^7.1.3",
|
||||||
"@types/chai": "^4.1.6",
|
"@types/chai": "^4.1.6",
|
||||||
"@types/lodash": "3.10.2",
|
"@types/lodash": "3.10.2",
|
||||||
@@ -54,14 +53,13 @@
|
|||||||
"mocha": "^5.2.0",
|
"mocha": "^5.2.0",
|
||||||
"prettier": "^2.0.4",
|
"prettier": "^2.0.4",
|
||||||
"rollup": "^2.6.1",
|
"rollup": "^2.6.1",
|
||||||
"rollup-plugin-buble": "^0.19.8",
|
|
||||||
"rollup-plugin-clear": "^2.0.7",
|
"rollup-plugin-clear": "^2.0.7",
|
||||||
"rollup-plugin-nodent": "^0.2.2",
|
|
||||||
"rollup-plugin-screeps": "^1.0.0",
|
"rollup-plugin-screeps": "^1.0.0",
|
||||||
"rollup-plugin-typescript2": "^0.27.0",
|
"rollup-plugin-typescript2": "^0.27.0",
|
||||||
"sinon": "^6.3.5",
|
"sinon": "^6.3.5",
|
||||||
"sinon-chai": "^3.2.0",
|
"sinon-chai": "^3.2.0",
|
||||||
"ts-node": "^8.8.2",
|
"ts-node": "^8.8.2",
|
||||||
|
"tsconfig-paths": "^3.9.0",
|
||||||
"typescript": "^3.8.3"
|
"typescript": "^3.8.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -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()
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -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()
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
--require test/setup-node.js
|
--require test/setup-node.js
|
||||||
--require ts-node/register
|
--require ts-node/register
|
||||||
|
--require tsconfig-paths/register
|
||||||
--ui bdd
|
--ui bdd
|
||||||
|
|
||||||
--reporter spec
|
--reporter spec
|
||||||
|
|||||||
@@ -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
6
tsconfig.test.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "CommonJs"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user