Всем привет!
Пытаюсь написать примитивный тест на встраивание компонента. Использую Jest. Выглядит он примерно так:
import React from 'react';
import ReactDOM from 'react-dom';
import Button from 'b:Button';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<Button />, div);
});
Файл .babelrc
{
"presets": [
["es2015"],
"stage-1",
"react"
],
"env": {
"test": {
"plugins": [
["bem-import", {
"techs": ["js"]
}]
]
}
}
}
Файл .bemrc
module.exports = {
root: true,
levels: {
'blocks': {
scheme: 'nested',
shemeOptions: 'react',
naming: 'react'
},
'node_modules/@myBem/typography/blocks': {
scheme: 'nested',
shemeOptions: 'react',
naming: 'react'
},
'node_modules/@myBem/icons/blocks': {
scheme: 'nested',
shemeOptions: 'react',
naming: 'react'
}
}
}
Запуская тест командой npm test
я получаю ошибку
FAIL blocks/Button/Button.test.js
● Test suite failed to run
Cannot find module 'm:paragraph' from 'Text.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
at Object.<anonymous> (node_modules/@myBem/typography/blocks/Text/Text.js:4:1)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 2.129s, estimated 3s
Дело в том что блок Button
внутри себя делает import
другого блока Text
из node_modules/@myBem
, который в свою очередь делает import
модификатора paragraph
. И вот тут у меня ощущение что модуль bem-import
не заходит так глубого во вложенности блоков. Что мне делать в данном случае или может можно как-то по другому решить проблему? Ударяюсь лбом о стену уже второй день =(
Спасибо!
cc @awinogradov
@klysak А как ты используешь трансформы в
jest
? покажи его конфиг.@Yeti-or
можешь попробовать вот с таким игнором ?
@Yeti-or та же самая ошибка
@klysak подожди а как
babel-jest
подключается? что-то такое написано?@Yeti-or
babel-jest
плагин автоматически подключается и его не надо объявлять. Вtransform
можно указать свой кастомный трансформатор. http://facebook.github.io/jest/docs/getting-started.html#using-babel об этом написано в Note. Но в любом случае, я пробовал эту опцию и все так же натыкаюсь на ошибку выше@klysak я попробую воспроизвести твою проблему чуть попозже или может быть ты сам можешь собрать тестовый пример на котором воспроизводится? какой нибудь
git clone dummy-app-with-tests
npm install
npm test
-> error@Yeti-or можете дать свою почту? я дам вам доступ к репозиторию на bitbucket. Там уже готовый проект с папкой
node_modules
, так как проблематично ставить некоторые пакеты из закрытого ресурса.Yeti.or@gmail.com On Wed, 23 Aug 2017 at 19:03, klysak notifications@github.com wrote:
@Yeti-or доброго дня! Есть какие-то предположения или догадки?