Игнорировать s css при тестировании стройных компонентов с помощью Jest - PullRequest
0 голосов
/ 16 июня 2020

Проблема: Я хочу протестировать стройные компоненты с помощью шутки, но не могу этого сделать, так как не могу игнорировать стиль s css, упомянутый внутри компонента. Есть ли способ обойти s css. Мой подход пока следующий: -

jest.config. js

module.exports = {
    transform: {
        '^.+\\.svelte$': 'svelte-jester',
        '^.+\\.js$': 'babel-jest',
    },
    moduleFileExtensions: ['js', 'svelte'],
    moduleDirectories: ['node_modules', 'src'],
    moduleNameMapper: {
        "^.*\\.scss$": "SCSSStub.js"
    }
}

babel.config. js

module.exports = {
    presets: [
        [
            '@babel/preset-env',
            {
                targets: {
                    node: 'current',
                },
            },
        ],
    ],
}

SCSSStub. js

module.exports = {};

Помимо этого подхода, я попробовал identity-obj-proxy, а также добавил

moduleNameMapper: { '^.+\\.(css|less|scss)$': 'babel-jest',},

в jest.config. js. Ни один из них не работал.

1 Ответ

0 голосов
/ 18 июня 2020

Проблема связана с тем, как вы настроили moduleNameMapper. Регулярное выражение будет искать что-то вроде filename\.scss

Существует дополнительный прямой sla sh, из-за которого прямой sla sh будет экранирован вместо точки, что приведет к издевательству, только если есть прямой sla sh перед расширением.

Измените ваше регулярное выражение на ^.+\.(css|less|scss)$, и оно должно работать должным образом.

...