【问题标题】:Cypress - Running only specific test cases from the test suiteCypress - 仅运行测试套件中的特定测试用例
【发布时间】:2021-03-29 11:13:28
【问题描述】:

我在集成文件夹中的单个套件文件(TestCase1、TestCase2、TestCase3、TestCase4 和 TestCase5)中有 5 个测试用例。

我的要求:我只需要运行 TestCase2 和 TestCase5。

从命令行运行单个测试用例的命令:

./node_modules/.bin/cypress run --spec 'cypress/integration/TestCase2.js

查询:如何使用--spec 命令同时运行TestCase2 和TestCase5?

【问题讨论】:

    标签: javascript cypress


    【解决方案1】:

    您的问题有点令人困惑,您说 单个套件文件中有 5 个测试用例,但您的示例 cypress run --spec 'cypress/integration/TestCase2.js 暗示了单独的规范文件。

    我会同时给你一个答案。


    个别规格文件

    请参阅第三个示例docs - cypress run --spec ,它运行两个测试,逗号分隔。

    cypress run --spec "cypress/integration/TestCase2.spec.js,cypress/integration/TestCase5.spec.js"
    

    单一套件文件

    请参阅How to add test case grouping in Cypress,它使用beforeEach() 来检查 ENV 变量传入的测试名称。

    将此添加到您的单个测试套件的顶部

    beforeEach(function() {
    
      const testFilter = Cypress.env('TEST_FILTER');
      if (!testFilter) return;                       // exit if no filter defined
    
      const testName = Cypress.mocha.getRunner().test.fullTitle();
      if (!testFilter.includes(testName)) {
        this.skip();
      }
    })
    

    运行

    set CYPRESS_TEST_FILTER=Test2;Test5 & cypress open
    

    cypress open --env TEST_FILTER=Test2;Test5  
    

    注意在使用 --env 标志时,测试名称不能用逗号分隔,因为赛普拉斯在内部使用逗号分隔多个 ENV 变量。

    【讨论】:

    • 我指的是“个人规格文件”,您提供的解决方案有效。谢谢你的回答。它有帮助。
    猜你喜欢
    • 2015-11-27
    • 2014-09-20
    • 2019-11-24
    • 1970-01-01
    • 2011-12-06
    • 2019-08-22
    • 2020-03-18
    • 2020-05-14
    相关资源
    最近更新 更多