Cypress 10 - 如果某个功能文件在specPattern中重复多次,则该功能文件仅运行一次

问题描述 投票:0回答:1

I need feature1.feature to run three times as displayed in cypress.config.js . But while running 
npx cypress run --config-file cypress.config.js `feature1.feature 仅运行一次。有什么方法可以更新配置文件以运行所有 feature1.feature.

const { defineConfig } = require("cypress");
const cucumber = require("cypress-cucumber-preprocessor").default;
module.exports = defineConfig({
  env: {
    url: "https://dev-abc.com/",
  },
  
  e2e: { 
    setupNodeEvents(on, config) {
      on('file:preprocessor', cucumber())
    },
    
    specPattern: 
    [ 
      "**/feature1.feature",
      "**/feature2.feature",
      "**/feature3.feature",
      "**/feature1.feature",
      "**/feature4.feature",
      "**/feature1.feature"
    ],
     testIsolation: false 
    },
  defaultCommandTimeout: 10000,
videosFolder: 'cypress/reports/folder1/mochawesome/videos',
screenshotsFolder: 'cypress/reports/folder1/mochawesome/screenshots',
  reporter: "mochawesome",
  sample: "value",
  reporterOptions: {
reportDir: 'cypress/reports/folder1/mochawesome/logs',
    overwrite: false,
    html: false,
    json: true,
  },
});

cucumber cypress cypress-cucumber-preprocessor cypress-configuration
1个回答
0
投票

我猜因为

specPattern
是一种模式,当赛普拉斯对其进行评估时,您只能在要运行的(内部)规范列表中获得
feature1
一次。

您可以在 CLI 中尝试使用逗号分隔的列表

cypress run --spec "cypress/e2e/feature1.feature,cypress/e2e/feature1.feature"

看看是否会调用它两次。

稍微不那么麻烦的是创建一个“索引”测试

功能列表.功能

import "**/feature1.feature"
import "**/feature2.feature"
import "**/feature3.feature"
import "**/feature1.feature"
import "**/feature4.feature"
import "**/feature1.feature"

这适用于普通 js 测试,也许也适用于黄瓜。

我必须补充一点,在测试运行中重复测试似乎有点奇怪,除非您将它们耦合起来 - 这通常是一种不好的做法。

如果这就是您正在做的事情,我建议您忘记这个问题,而是询问如何在其他测试中重用测试的部分内容。

© www.soinside.com 2019 - 2024. All rights reserved.