Тест React Jest не распознает импортируемый псевдоним - PullRequest
0 голосов
/ 08 мая 2019

Я выполняю базовый тест React Jest в компоненте Button, и этот тест не распознает импорт.

Кто-нибудь имеет представление, почему тест не выполняется в этом импорте?

Компонент:

import ...
import ... from 'styled-components';
import ... from 'styled-tools';

import {Icon} from 'xpto';
import {Default as theme} from 'Themes';

import * as mixins from '../../../config/styles/mixins';
... 
&:hover{
    background-color: #000;
    border: 1px solid ${theme.colors.primary};
    color: ${theme.colors.primary};
    & svg:not([fill="none"]):not([fill="#000"]) {
      fill: ${theme.colors.primary};
    }
    & .nohover svg {
      fill: ${({color}) => color};
    }
...

Ошибка:

FAIL  .../Button/index.test.js
  ● Test suite failed to run

    Cannot find module 'Themes' from 'index.js'

       5 | 
       6 | import {Icon} from 'xpto';
    >  7 | import {Default as theme} from 'Themes';
         | ^
       8 | 
       9 | import * as mixins from '../../../config/styles/mixins';
      10 | 

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:221:17)
      at Object.<anonymous> (.../Button/index.js:7:1)

Файл тестов Jest:

import React from 'react';
import { mount } from 'enzyme';
import Button from './index';
describe('Button', () => {  
  it('should render correctly with no props', () => {
    const component = mount(<Button/>); 
    expect(component).toMatchSnapshot();
  }); 
});

1 Ответ

0 голосов
/ 08 мая 2019

Jest не удалось разрешить ваш index.js в папке Темы.Вы можете исправить это одним из следующих способов:

  1. Скажите Jest, как разрешить ваш файл:
    • параметр в package.json
"jest": {
   "modulePaths": ["path to src folder which contains Themes folder"],
   ...
}

Посмотрите этот урок

Установить NODE_PATH в файле .env
NODE_PATH=src/ # src folder contains Themes folder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...