首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure管道中的Cypress构建错误:无法找到模块@cypress/code-coverage/task‘

Azure管道中的Cypress构建错误:无法找到模块@cypress/code-coverage/task‘
EN

Stack Overflow用户
提问于 2021-12-23 01:27:09
回答 1查看 725关注 0票数 1

这是我的配置:

代码语言:javascript
复制
// cypress/plugins/index.js
module.exports = (on, config) => {
  require('@cypress/code-coverage/task')(on, config);
  //require('@bahmutov/cypress-extends')(on, config);
  return config
}

当我试图在Azure管道脚本中运行柏树时(在一个柏树/包含的容器内),我会收到一个错误。在本地运行时不会发生此错误。

代码语言:javascript
复制
The function exported by the plugins file threw an error.

We invoked the function exported by `/root/e2e/cypress/plugins/index.js`, but it threw an error.

 Error: Cannot find module '@cypress/code-coverage/task'
Require stack:
- /root/e2e/cypress/plugins/index.js
- /root/.cache/Cypress/9.1.1/Cypress/resources/app/packages/server/lib/plugins/child/run_plugins.js

我所做的唯一不寻常的事情是:

代码语言:javascript
复制
// cypress/config/cypress.local.json
{
  "extends": "../../cypress.json",
  "baseUrl": "https://localhost:4200"
}

和一个普通的cypress.json配置:

代码语言:javascript
复制
// /cypress.json
{
  "baseUrl": "http://localhost:4200",
  "proxyUrl": "",
  "defaultCommandTimeout": 10000,
  "video" : false,
  "screenshotOnRunFailure" : true,
  "experimentalStudio": true,
  "projectId": "seixri",
  "trashAssetsBeforeRuns" : true,
  "videoUploadOnPasses" : false,
  "retries": {
    "runMode": 0,
    "openMode": 0
  },
  "viewportWidth": 1000,
  "viewportHeight": 1200
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-23 14:11:31

这里的问题可能是Cypress不支持以您所做的方式扩展配置文件,正如这里所述:https://www.cypress.io/blog/2020/06/18/extending-the-cypress-config-file/

我认为有两种合适的解决办法:

1.方法:使用单独的配置文件(我的建议)

由于扩展现有配置文件不起作用,我建议有单独的配置文件,例如,一个用于本地使用,另一个用于Azure管道中的执行。然后,您可以简单地在package.json中添加两个单独的命令,如:

代码语言:javascript
复制
  "scripts": {
    "cy:ci": "cypress run --config-file cypress/cypress.json",
    "cy:local": "cypress run --config-file cypress/cypress.local.json"
  },

博士:https://docs.cypress.io/guides/references/configuration

2.方法:在测试中设置配置选项()

Cypress提供了在测试中直接覆盖配置的选项。例如,如果您已经在cypress.json中配置了以下内容

代码语言:javascript
复制
{
  "viewportWidth": 1280,
  "viewportHeight": 720
}

您可以在测试中更改viewportWidth,如下所示:

代码语言:javascript
复制
Cypress.config('viewportWidth', 800)

博士:https://docs.cypress.io/api/cypress-api/config#Syntax

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70456794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档