【问题标题】:Move cypress folder from the root of the project从项目的根目录移动 cypress 文件夹
【发布时间】:2018-08-18 04:01:30
【问题描述】:

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

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

【问题讨论】:

    标签: testing integration-testing cypress


    【解决方案1】:

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

    为此,您需要在项目的根目录中包含 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。
    【解决方案2】:

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

    cypress open --project test
    

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

    project option direct link

    example repo with usage

    cypress run cli documentation

    【讨论】:

    • 又好又干净!
    • 请注意,对我而言,cypress open --project test 具有在test/cypress 文件夹中运行/放置柏树测试的预期结果。当我运行此答案中提供的命令时,它在test/cypress/cypress 创建了额外的测试。
    【解决方案3】:

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

    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 中。我只保留fixtures、插件、屏幕截图、视频、支持目录,其余的都被删除了。

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

    【讨论】:

    • 当您单独运行规范文件时,您如何检测到它?
    【解决方案4】:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多