【问题标题】:How to run Cypress in test mode instead production?如何在测试模式而不是生产模式下运行赛普拉斯?
【发布时间】:2020-05-10 15:02:46
【问题描述】:

赛普拉斯默认以生产模式运行 (process.env.NODE_ENV === 'production')。我想在“测试”模式下运行它,因为我的代码中有一些不应在测试下运行的功能,例如向 Sentry 报告

我的应用程序代码中有这样的内容:

if (process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'development') {
//report to sentry
}

我尝试在 Cypress 中设置环境变量,但它仅用于测试文件。

"test:e2e": "percy exec -- vue-cli-service test:e2e --mode test"

我也尝试使用 --mode test 运行命令,但测试运行器出现问题(未开始测试)

问候

【问题讨论】:

  • 不是你的应用需要在测试模式下运行吗?
  • 赛普拉斯不会编译您的应用程序。它只是打开一个 URL。因此,您可以为 cypress 提供一个 URL,该 URL 具有默认在 TEST 模式下运行的应用程序,或者您通过添加在您的应用程序中解析的请求标头或类似的东西来控制它。

标签: vue.js testing cypress e2e-testing sentry


【解决方案1】:

您将选项传递给 cypress,而不是设置环境变量。如果你想在mac上设置环境变量,

"test:e2e": "NODE_ENV='development' percy exec -- vue-cli-service test:e2e"

或在窗口中

"test:e2e": "SET NODE_ENV='development'  percy exec -- vue-cli-service test:e2e"

或者你可以使用更复杂的东西,比如https://www.npmjs.com/package/cross-env

【讨论】:

  • 它不起作用。浏览器打开但测试运行器没有启动
猜你喜欢
  • 2022-07-13
  • 1970-01-01
  • 2021-12-02
  • 2019-12-27
  • 2023-02-10
  • 2019-07-29
  • 1970-01-01
  • 2021-10-05
  • 1970-01-01
相关资源
最近更新 更多