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
|
||||
"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",
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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 ts-node/register
|
||||
--require tsconfig-paths/register
|
||||
--ui bdd
|
||||
|
||||
--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