30

当我安装并运行 cypress 时,它会cypress/在我的项目的根目录中搭建一个文件夹。

问题是所有其他与测试相关的数据都存储在该test/文件夹中。有没有一种简单的方法可以将其移动到test/cypress并配置 cypress 以查看那里?

4

4 回答 4

51

赛普拉斯有一些配置选项来指定自定义文件夹结构。

为此,您需要cypress.json在项目的根目录中有文件,并在其中指定以下结构,以便 cypress 正确获取以下文件test/cypress/

{
  "fixturesFolder": "test/cypress/fixtures",
  "integrationFolder": "test/cypress/integration",
  "pluginsFile": "test/cypress/plugins/index.js",
  "screenshotsFolder": "test/cypress/screenshots",
  "videosFolder": "test/cypress/videos",
  "downloadsFolder": "test/cypress/downloads",
  "supportFile": "test/cypress/support/index.js"
}

赛普拉斯文档中的更多信息。

于 2018-03-09T14:43:01.857 回答
20

如果要直接从命令行指定要启动哪一个,可以使用project标志:

cypress open --project test

如果您有一个带有多个 cypress 文件夹的 monorepo 来测试不同的应用程序,这将特别有用。

项目选项直接链接

使用示例 repo

赛普拉斯运行 cli 文档

于 2019-07-29T11:04:21.107 回答
1

如果您要移动执行时创建的赛普拉斯“安装”目录cypress openor cypress run,我建议按照以下步骤操作:

1) 运行带有--project <directory>标志的 cypress,其中目录是您希望安装 cypress 的位置。就我而言,我选择了测试目录:

cypress open --project test

2) 赛普拉斯现在应该在文件夹中创建它的启动目录/test/cypresscypress.json直接在/test(!) 目录下添加您的文件。如果你使用的是 TypeScript,你也可以在tsconfig.json那里添加你的文件。

3)在你的cypress.json你可以相对配置你的测试子目录。我的文件是:

{
  "projectId": "XXXXXX",
  "fixturesFolder": "cypress/fixtures",
  "integrationFolder": "ui",
  "screenshotsFolder": "cypress/screenshots",
  "videosFolder": "cypress/videos"
}

这意味着我的测试在/test/ui目录下,其余的在 /cypress 下。我只保留固定装置、插件、屏幕截图、视频、支持目录,其余的都被删除了。

工作没有问题。我希望这会有所帮助。

于 2019-09-04T16:09:27.313 回答
0

赛普拉斯测试具有以下文件结构。

cypress ├── fixtures │   └── example.json ├── integration │   └── example_spec.js ├── plugins │   └── index.js └── support ├── commands.js └── index.js | |__ cypress.json

您必须将此文件结构移动到/test/. 默认情况下cypress.json指向直接cypress文件夹。

否则,您可以将cypress.json文件中的配置定义为上述答案中提到的@GlebKost。

于 2018-04-11T05:48:07.930 回答