В настоящее время у меня есть проект, который использует шутку для модульного тестирования. Проблема, с которой я сталкиваюсь, заключается в том, что одному из модулей зависимостей требуется файл. css:
./node_modules/problem-module/dist/problem-module.js:
line 0: require("./problem-module.css");
Я настроил jest так, чтобы он не игнорировал указанный модуль c для преобразования, исправляя проблему с помощью CSS требуется. Хотя теперь тест не работает, потому что jest пытается также преобразовать все файлы. js в модуле с помощью babel-jest, которые ранее были проверены через babel до публикации модуля. что приводит к ошибке, похожей на:
TypeError: (0 , problemModuleFunction.default) is not a function
Моя конфигурация шутки:
"jest": {
"testEnvironment": "jsdom",
"testMatch": [
"<rootDir>/src/**/*.test.js"
],
"moduleDirectories": [
"<rootDir>/src",
"<rootDir>/node_modules"
],
"moduleNameMapper": {
"\\.(css|scss)$": "<rootDir>/__mocks__/styleMock.js",
"\\.(jpg|gif|ttf|eot|svg)$": "<rootDir>/__mocks__/fileMock.js"
},
"transform": {
"^((?!mock).)*.(js|jsx)$": "babel-jest",
"\\.(css|styl|less|sass|scss)$": "<rootDir>/node_modules/jest-css-modules-transform"
},
"transformIgnorePatterns": [
"node_modules/(?!(problem-module))"
],
"setupFilesAfterEnv": [
"<rootDir>/setupTests.js"
],
"moduleFileExtensions": [
"css",
"scss",
"js",
"json",
"jsx"
]
},
Каков наилучший способ убедиться, что файлы CSS из этого модуля сопоставлены правильно без преобразования каких-либо файлов JS?