如何在Jest配置中动态应用moduleNameMapper以获得重复模式?

时间:2019-08-15 14:35:36

标签: javascript json reactjs unit-testing jestjs

我有一个与React项目的JSON配置相关的问题。该项目还基于许多主题。

我有几个问题要问你。

1)是否可以通过某些正则表达式使对象 moduleNameMapper 的后三行动态映射? 我不想在项目中需要添加新的json时一行一行地添加。

2)有没有一种方法可以用process.env.theme替换 theme

jest.config.json

  "moduleNameMapper": {
    "\\.(scss)$": "<rootDir>/src/app/mocks/tests/scss.js",
    "\\.(css)$": "identity-obj-proxy",
    "public/data/car/car.json": "<rootDir>/theme/data/car/car.json",
    "public/data/bus/bus.json": "<rootDir>/theme/data/bus/bus.json",
    "public/data/van/van.json": "<rootDir>/theme/data/van/van.json",
  },

预先感谢

1 个答案:

答案 0 :(得分:0)

moduleMapper RegExp可以具有捕获组,可使用占位符($1$2等在映射路径中访问捕获组。

"moduleNameMapper": {
    "\\.(scss)$": "<rootDir>/src/app/mocks/tests/scss.js",
    "\\.(css)$": "identity-obj-proxy",
    "public/data/car/(.+\\.json)": "<rootDir>/theme/data/car/$1",
},