Как добавить переменную окружения на сервер, запускаемый при тестировании кипариса? - PullRequest
0 голосов
/ 19 июня 2020

Мой пакет. json файл

"scripts": {
    "start": "concurrently \"nodemon index.js\" \"PORT=3000 react-scripts start\"",
    "build": "react-scripts build",
    "server": "NODE_ENV=production nodemon index.js",
    "dev": "NODE_ENV=development nodemon index.js",
    "test": "react-scripts test",
    "eslint": "eslint .",
    "cypress:open": "cypress open",
    "start:test": "NODE_ENV=test concurrently \"NODE_ENV=test nodemon index.js\" \"NODE_ENV=test PORT=3000 react-scripts start\""
  },

мое создание маршрутизатора в приложении узла. js это

if (process.env.NODE_ENV === 'test') {
  const testingRouter = require('./controllers/testing')
  app.use('/api/testing', testingRouter)
}

, но когда я запускаю кипарисовый тест, он жалуется, что такого роутера нет. Как я могу заставить NODE_ENV = test при вызове npm run cypress: open command?

И как я могу console.log (process.env.NODE_ENV) увидеть, что, если он был передан процессу cypres?

1 Ответ

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

решено

"start: test": "cross-env NODE_ENV == тестировать одновременно \" cross-env NODE_ENV = test nodemon index.js \ "\" cross-env NODE_ENV = test PORT = 3000 react-scripts start \ ""

и npm запустить команду start: test в одной командной строке и запустить cypress в другой

...