Настройте Cypress IO для работы с dotenv на Quasar Framework - PullRequest
1 голос
/ 31 октября 2019

Я использую Quasar Framework и сразу после добавления пакета quasar-dotenv я понял, что тесты e2e не работают.

Getting this error on every start

Uncaught TypeError: fs.readFileSync is not a function

This error originated from your test code, not from Cypress.

When Cypress detects uncaught errors originating from your test code it will automatically fail the current test.

Cypress could not associate this error to any specific test.

We dynamically generated a new test to display this failure.

Check your console for the stack trace or click this message to see where it originated from.
    at Object.config (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:141291:34)
    at Object.746.eslint (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:150393:36)
    at o (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:1:265)
    at http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:1:316
    at Object.747.../../../../quasar.conf.js (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:150535:35)
    at o (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:1:265)
    at r (http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:1:431)
    at http://localhost:8080/__cypress/tests?p=test/cypress/integration/home/init.spec.js-312:1:460

Я попытался настроить среду Cypress, добавив файл test/cypress/plugins/cypress.env.json с некоторыми данными, а также изменив файл test/cypress/plugins/index.js в той же папке, следуя этой документации как было предложено здесь :

const env = require('quasar-dotenv').config()

module.exports = (on, config) => {

  // config.env.API_URL = 'http://example.com' // not working
  config.env = env

  // Chrome:: Hack for shaking AUT. Cypress Issue: https://github.com/cypress-io/cypress/issues/1620
  on('before:browser:launch', (browser = {}, args) => {
    if (browser.name === 'chrome') {
      args.push('--disable-blink-features=RootLayerScrolling');
      return args;
    }
    return true;
  });

  return config
};
  • MacOS Catalina
  • Cypress v3.5.0
  • Chrome v77

1 Ответ

1 голос
/ 01 ноября 2019

Я не знаю ответа, потому что я не знаком с quasar-dotenv. Вы пробовали официальное расширение приложения Quasar Dotenv? https://github.com/quasarframework/app-extension-dotenv или, альтернативно, другое официальное расширение приложения, но менее самоуверенное, чем фанаты dotenv: https://github.com/quasarframework/app-extension-qenv

...