在 mocha 测试中使用带有 ts-node 的断言
Posted
技术标签:
【中文标题】在 mocha 测试中使用带有 ts-node 的断言【英文标题】:using assert with ts-node in mocha test 【发布时间】:2019-06-19 20:48:51 【问题描述】:我在test.ts
中创建了一个mocha
测试
import * as assert from "assert";
describe('it', () =>
it('should ', done =>
assert.strictEqual(true, false);
done();
);
);
我的package.json
s devDependencies
:
"devDependencies":
"@types/mocha": "^5.2.5",
"@types/node": "^10.12.18",
"mocha": "^5.2.0",
"ts-node": "^8.0.1",
"typescript": "^3.2.4"
tsconfig.json
:
"compilerOptions":
"target": "es2015",
"module": "commonjs",
"sourceMap": true,
"declaration": true,
"outDir": "./dist",
"strict": true,
"types": ["mocha"]
在运行ts-node
时,我收到此错误:
error TS2307: Cannot find module 'assert'.
我的命令行调用是这样的:
./node_modules/mocha/bin/mocha -r ts-node/register test/test.ts
常规tsc
不会引发错误。
【问题讨论】:
【参考方案1】:已通过 GitHub 上的this issue comment 解决:
types
中的tsconfig.json
需要包含node
:
"compilerOptions":
"target": "es2015",
"module": "commonjs",
"sourceMap": true,
"declaration": true,
"outDir": "./dist",
"strict": true,
"types": ["mocha", "node"]
【讨论】:
以上是关于在 mocha 测试中使用带有 ts-node 的断言的主要内容,如果未能解决你的问题,请参考以下文章
尝试通过 --experimental-loader 选项使用 mocha、ES6 模块和 ts-node
mocha 和 ts-node 找不到本地 .d.ts 文件
mocha 和 ts-node UnhandledPromiseRejectionWarning:TypeError: Cannot convert undefined or null to obje