NodeJS Mocha:测试找不到模块

j8ag8udp  于 12个月前  发布在  Node.js
关注(0)|答案(1)|浏览(122)

我有一个非常简单的单元测试,它从以下几行开始:

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:x1c 0d1x
但是,我得到了错误:
错误:找不到模块“@app/common/south_events_manager”需要堆栈:

  • C:\HQNorth\North\test\common\south_events_manager.ts

如您所知,找不到SouthEventsManager模块。
你知道吗?

06odsfpq

06odsfpq1#

您似乎在tsconfig.*.json文件中配置了路径别名。Mocha不知道它,它假设它是某个模块(NodeJS one,相对文件,或只是第三方包)。您需要告诉它。您需要安装包tsconfig-paths并将Mocha运行脚本更改为:
mocha -r ts-node/register -r tsconfig-paths/register "test/**/*.ts"

相关问题