问题描述
有关使用Jest&RTL进行测试设置的问题。我正在创建一个NPM软件包,它将继续增长并包含其中的多个功能。我的目标是让我们的管道在根目录中运行测试。然后,src中的每个功能/模块将具有自己的具有依赖关系的package.json;即:反应。设置是这样的:
root
|
|- package.json
|- node_modules // for things like rollup & testing
|- tsconfig.json
|- rollup.config.js
|- jest.config.js
|__src
|
|- feature1
| |
| |- package.json
| |- node_modules
| |_ tsconfig.extended
|
|- feature2
|
|- package.json
|- node_modules
当我对Feature1中的基本功能运行带有“单元测试”的笑话时,就可以了。但是,如果我尝试使用React运行测试,则会出错,因为根中未安装react:
无法从'node_modules/@testing-library/react/dist/pure.js'中找到模块'react'
出于测试目的,我尝试在根目录中安装react来解决它,但是现在我有2个版本的react,这是我不想要的。
问题:我是否可以更新jest.config文件以也在内部文件夹中查找模块?
module.exports = {
moduleDirectories: ['node_modules','<rootDir>/src/Feature1'],// includes feature
modulefileExtensions: ['ts','tsx','js','jsx'],moduleNameMapper: {
'^Feature1/(.*)$': '<rootDir>/src/$1',},preset: 'ts-jest',roots: ['<rootDir>','<rootDir>/src/'],testEnvironment: 'jsdom',testPathIgnorePatterns: ['/node_modules/'],transform: {
'^.+\\.tsx?$': 'ts-jest',testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',verbose: true,};
我可以这样做吗,还是在子级别中包含package.json是一种不好的做法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)