茉莉花测试文件中的require模块

时间:2019-10-23 17:54:25

标签: node.js angular unit-testing jasmine

我正在使用Angular 7,并使用Karma / Jasmine测试我的代码。我的Angular项目之外有一个模块,我想使用Jasmine进行测试。我像这样制作了一个测试文件:

describe('Server Config', () => {
    const CONFIG_PATH: string = '../../../config/config.js';

    beforeEach(() => {
        delete require.cache[require.resolve(CONFIG_PATH)];
    });

    it('should test something', () => {
        const config = require(CONFIG_PATH);
        expect(config.test).toBe('test');
    });
});

我的文件夹结构:

config
  - config.js
tests
  unit
    server
      config.spec.ts

运行此命令时,出现以下错误:

Error: Cannot find module '../../../config/config.js'
error properties: Object({ code: 'MODULE_NOT_FOUND' })

这对我没有意义。我的config.js文件中包含以下行:module.exports = config;。我无法将其更改为export default config,因为它会导致其他区域出现错误。

我尝试使用path模块创建config.js的字符串,但出现相同的错误。

我在做什么错?我如何在测试文件中需要自定义模块?

0 个答案:

没有答案