对于我的nodejs模块,我使用Mocha和Chai编写了一些单元测试。它们在macOS上运行正常,但无法在Windows上编译,编译错误:
D:\projects\antlr4-graps>npm test
> antlr4-graps@1.2.0 test D:\projects\antlr4-graps
> mocha --compilers ts:ts-node/register,tsx:ts-node/register
D:\projects\antlr4-graps\node_modules\ts-node\src\index.ts:312
throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset))
^
TSError: ⨯ Unable to compile TypeScript
test\test.ts (17,1): Cannot find name 'describe'. (2304)
无法编译的代码是:
describe('antlr4-graps', function () {
这是完全有效的代码(the full version of that file is on Github)。我仔细检查了mocha和chai是否作为本地节点模块安装,包括它们的TS等价物(@type / chai和@type / mocha)。
如何修复编辑?
答案 0 :(得分:1)
您必须在测试文件中导入Mocha。我已经复制了一个项目,其中包含了您所安装内容的描述,我只需要添加:
import "mocha";
在测试文件的开头,以便describe
及其兄弟姐妹在全局空间中定义。