【发布时间】:2022-11-09 04:34:54
【问题描述】:
我正在对需要检查它是否具有特定 CSS 样式的组件进行测试。由于 React Native 测试库默认没有此功能,我安装了 @testing-library/react-native 以从那里使用 toHaveStyle 但在运行测试时出现错误:测试套件无法运行。无法从“我的测试文件的路径”中找到模块“@testing-library/jest-native”。这是我的测试和开玩笑的配置:
// test file
import React from 'react';
import {toHaveStyle} from '@testing-library/jest-native';
describe('JobForm', () => {
expect.extend({toHaveStyle});
// ....
});
// package.json
{
//...
"jest": {
"preset": "react-native",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"transformIgnorePatterns": [
"node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation|aws-amplify-react-native|@ui-kitten)"
],
"setupFiles": [
"<rootDir>/jest.setup.js",
"./node_modules/react-native-gesture-handler/jestSetup.js"
]
}
}
//jest.setup.js
import mockRNCNetInfo from '@react-native-community/netinfo/jest/netinfo-mock.js';
import mockAsyncStorage from '@react-native-async-storage/async-storage/jest/async-storage-mock';
jest.mock('@react-native-community/netinfo', () => mockRNCNetInfo);
jest.mock('@react-native-async-storage/async-storage', () => mockAsyncStorage);
【问题讨论】:
标签: javascript react-native jestjs babeljs react-native-testing-library