Установить пользовательские пути импорта по умолчанию для Cypress - PullRequest
0 голосов
/ 19 декабря 2018

Мы используем Cypress для тестирования сборки приложения с помощью Create React App, а наше приложение CRA устанавливает собственный путь импорта в .env - NODE_PATH=src/ - так, чтобы мы могли импортировать файлы «абсолютно», например, import Foo from 'components/Foo' против import Foo from '../../components/Foo'

Проблема в том, что если мы импортируем один из файлов из нашего CRA в тест Cypress, а импортированный файл содержит что-то вроде import routes from 'lib/routes' Cypress не знает, как это обрабатыватьпуть и импорт завершается неудачей.

Пример

Допустим, у нас есть следующие файлы:

/ cypress /gration / test.js

import routes from '../../src/lib/routes';

// Tests here…

/ src / lib / rout.js

import { routeHelpers } from 'lib/routes';

// Routing code here

В этом сценарии, когда /cypress/integration/test.js импортирует /src/lib/routes.js, он встретит абсолютный импорт 'lib/routes' и понятия не имею, как разрешить этот путь.

Есть ли способ задать настраиваемые пути для Cypress, которые будут включаться при поиске импорта таким способом?В случае этого произвольного примера это будет означать указание Cypress использовать src в качестве каталога для разрешения импорта из.

1 Ответ

0 голосов
/ 20 декабря 2018

Самым простым решением для этого оказалось простое выполнение команд кипариса с NODE_PATH=src.Поэтому мой package.json был просто обновлен до следующего:

"scripts": {
    "cypress:open": "NODE_PATH=src cypress open",
    "cypress:run": "NODE_PATH=src cypress run",
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...