代码之家  ›  专栏  ›  技术社区  ›  CrazySynthax

Mocha:测试找不到模组

  •  0
  • CrazySynthax  · 技术社区  · 1 年前

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

    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。

    你知道吗?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Tal Rofe    1 年前

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

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