Mocha:测试找不到模块

Mocha: tests cannot find module

提问人:CrazySynthax 提问时间:11/14/2023 更新时间:11/14/2023 访问量:22

问:

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

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:enter image description here

但是,我收到错误:

错误:找不到模块“@app/common/south_events_manager”需要 叠:

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

如您所知,找不到模块 SouthEventsManager。

你有什么想法吗?

node.js mocha.js es6-modules

评论


答:

1赞 Tal Rofe 11/14/2023 #1

您似乎已在文件中配置了路径别名。Mocha 不知道它,它假设它是某个模块(NodeJS 一个、相对文件或只是第三方包)。你需要告诉它。您需要安装软件包并将 Mocha 运行脚本更改为:tsconfig.*.jsontsconfig-paths

mocha -r ts-node/register -r tsconfig-paths/register "test/**/*.ts"