从项目的根目录移动 cypress 文件夹
Move cypress folder from the root of the project
当我安装 运行 cypress 时,它会在我项目的根目录中搭建一个 cypress/
文件夹。
问题是所有其他测试相关数据都存储在 test/
文件夹中。有没有一种简单的方法可以将其移动到 test/cypress
并配置 cypress 以查看那里?
Cypress 有几个配置选项来指定自定义文件夹结构。
为此,您需要在项目的根目录中包含 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"
}
cypress docs 中的更多信息。
Cypress 测试具有以下文件结构。
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。
如果你想直接从命令行指定启动哪一个,你可以使用project
标志:
cypress open --project test
如果您有一个包含多个 cypress 文件夹的 monorepo 来测试不同的应用程序,这将特别有用。
如果您要移动在执行 cypress open
或 cypress run
时创建的 Cypress "installation" 目录,我建议按照以下步骤操作:
1) 运行 带有 --project <directory>
标志的 cypress,其中 directory 是您希望安装 cypress 的位置。在我的例子中,我选择了 test 目录:
cypress open --project test
2) 赛普拉斯现在应该在 /test/cypress
文件夹中创建其启动目录。将 cypress.json
文件直接添加到 /test
(!) 目录下。如果您使用的是 TypeScript,您也可以在那里添加 tsconfig.json
文件。
3) 在您的 cypress.json
中,您可以相对配置您的测试子目录。我的文件是:
{
"projectId": "XXXXXX",
"fixturesFolder": "cypress/fixtures",
"integrationFolder": "ui",
"screenshotsFolder": "cypress/screenshots",
"videosFolder": "cypress/videos"
}
这意味着我的测试在 /test/ui 目录下,其余的在 /cypress 中。我只保留 固定装置、插件、屏幕截图、视频、支持 目录,其余的都删除了。
工作没有问题。希望对您有所帮助。
当我安装 运行 cypress 时,它会在我项目的根目录中搭建一个 cypress/
文件夹。
问题是所有其他测试相关数据都存储在 test/
文件夹中。有没有一种简单的方法可以将其移动到 test/cypress
并配置 cypress 以查看那里?
Cypress 有几个配置选项来指定自定义文件夹结构。
为此,您需要在项目的根目录中包含 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"
}
cypress docs 中的更多信息。
Cypress 测试具有以下文件结构。
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。
如果你想直接从命令行指定启动哪一个,你可以使用project
标志:
cypress open --project test
如果您有一个包含多个 cypress 文件夹的 monorepo 来测试不同的应用程序,这将特别有用。
如果您要移动在执行 cypress open
或 cypress run
时创建的 Cypress "installation" 目录,我建议按照以下步骤操作:
1) 运行 带有 --project <directory>
标志的 cypress,其中 directory 是您希望安装 cypress 的位置。在我的例子中,我选择了 test 目录:
cypress open --project test
2) 赛普拉斯现在应该在 /test/cypress
文件夹中创建其启动目录。将 cypress.json
文件直接添加到 /test
(!) 目录下。如果您使用的是 TypeScript,您也可以在那里添加 tsconfig.json
文件。
3) 在您的 cypress.json
中,您可以相对配置您的测试子目录。我的文件是:
{
"projectId": "XXXXXX",
"fixturesFolder": "cypress/fixtures",
"integrationFolder": "ui",
"screenshotsFolder": "cypress/screenshots",
"videosFolder": "cypress/videos"
}
这意味着我的测试在 /test/ui 目录下,其余的在 /cypress 中。我只保留 固定装置、插件、屏幕截图、视频、支持 目录,其余的都删除了。
工作没有问题。希望对您有所帮助。