我目前正在尝试将我的项目转换为TypeScript,它几乎可以完美地工作。我所有的代码构建,我的一切都正确呈现。唯一的问题是我的测试。
我注意到,一旦我将一个测试文件从.test.jsx
重命名为.test.tsx
,该文件中的测试就会停止由react-scripts test
运行。有趣的是,以.test.ts
结尾的文件仍然在运行,但是将我的组件测试重命名为只有.test.ts
文件扩展名会导致它们出现语法错误。
我试过添加一个应该与我的TSX文件匹配的jest.config.js
,但似乎没有影响。
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
testMatch: ['**/__tests__/**/*.ts?(x)', '**/?(*.)+(spec|test).ts?(x)'],
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
};
我也试过添加setupFilesAfterEnv: ['./src/setupTests.js'],
作为建议here,但无济于事。
如何修改我的设置,使我能够有Jest匹配.test.tsx
文件?
2条答案
按热度按时间yeotifhr1#
您也可以使用
craco
包进行自定义配置(craco.config.js
):然后在
jest.config.js
中:Craco(Create React App Configuration Override)是一个工具,允许您在没有
npm eject
的情况下覆盖Create React App的默认配置。它可以帮助您:pengsaosao2#
原来默认的
react-scripts
配置忽略了jest.config.js
文件,而是要求您在package.json
文件中指定配置。在
package.json
的jest
对象中,我需要添加以下内容: