开玩笑的单元测试-无法从“ xx.tsx”中找到模块配置

时间:2019-04-24 07:11:05

标签: reactjs typescript unit-testing jestjs

我想对该文件进行单元测试,该功能将从webpack config 部分获取url。但是当我尝试使用此命令笑话时,它会向我显示

  

从'ABC.ts'中找不到模块'Config'

这是测试此方法的正确方法吗?

ABC.test.ts

import * as ABC from '../../../src/components/channels/ABC'


test("ABC test", () =>{
    expect(ABC.getABCLink()).toBe("http://ABC"); 
});

ABC.ts

export function getABCLink( ){  
  var Config = require('Config');
  return Config.Url;
}

Webpack.config.js

externals: {            
            'Config': 
                JSON.stringify(
                     Url: 'http://ABC',
                    )
                )
        },

jest.config.js

module.exports = {
    'roots': [
      '<rootDir>/testing/src'
    ],
    'transform': {
      '.*\.tsx?$': 'ts-jest'
    },
    "transformIgnorePatterns": [
      "node_modules/(^generic-)/i", 
    ],
    'testRegex': '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$',
    'moduleFileExtensions': [
      'ts',
      'tsx',
      'js',
      'jsx',
      'json',
      'node'
    ],
    'moduleNameMapper': {
      '^src/(.*)': '<rootDir>/src/$1',
      '^components/(.*)': '<rootDir>/src/components/$1'
    },

     'moduleDirectories': ['node_modules', 'src']
  }

0 个答案:

没有答案