我有一个非常简单的单元测试,从以下几行开始:
import {SOUTH_EVENTS_ENUM, SouthEventsManager} from "@app/common/south_events_manager"; import {expect} from "chai"; import config from "config"; const {KafkaSouth} = require('@app/kafka_conn/kafka_south'); const sinon = require("sinon"); declare const Tester: any; describe('SouthEventsManager', function() { const kafkaSouthStub = sinon.createStubInstance(KafkaSouth); const southEventsManager = new SouthEventsManager(kafkaSouthStub);
正如您所看到的,模块SouthEventsManager被导入到测试文件中。
我和下面的跑步者一起跑Mocha:
然而,我得到了一个错误:
错误:找不到模块“@app/common/south_events_manager”需要 堆栈: C: \HQNorth \North \test\common\south_events_manager.ts
错误:找不到模块“@app/common/south_events_manager”需要 堆栈:
正如您所理解的,找不到模块SouthEventsManager。
你知道吗?
似乎您在中配置了路径别名 tsconfig.*.json 文件Mocha不知道,它假设它是某个模块(NodeJS一个,相对文件,或者只是第三方包)。你需要告诉它。你需要安装软件包 tsconfig-paths 并将您的Mocha行书更改为:
tsconfig.*.json
tsconfig-paths
mocha -r ts-node/register -r tsconfig-paths/register "test/**/*.ts"