gpt4 book ai didi

testng - 如何在 Cypress 中添加测试用例分组

转载 作者:行者123 更新时间:2023-12-04 12:16:04 25 4
gpt4 key购买 nike

我目前正在使用 Cypress 进行 UI 集成测试。我正在寻找在类似于标准 TestNG 的 cypress 中添加测试用例分组的方法。我在 cypress 文档中找不到任何分组功能。我确实找到了这个帖子:link其中分组是使用标签完成的。我正在寻找一种更简单的测试用例分组方法。
这是我的用例:我在下面的示例中对不同的功能进行了测试,例如 feature1,2,3,并且每个功能都有不同的测试用例。我想针对功能 1 等单个功能运行我的测试。有没有办法运行功能 1 的测试 1。注意:我不是在寻找 .only 或 .skip .我想为特定组添加分组并使用 CLI 运行这些测试。
以前有人做过这些吗?


describe('Feature1', () => {
it('test1', () => {
})

it('test2', () => {
})

it('test3', () => {
})

})

describe('Feature2', () => {
it('test1', () => {
})

it('test2', () => {
})

it('test3', () => {
})
})


describe('Feature3', () => {
it('test1', () => {
})

it('test2', () => {
})

it('test3', () => {
})
})



谢谢,
圣人

最佳答案

您可以动态 skip使用 this.skip() 进行测试,可以根据环境变量有条件地应用。
要在全局范围内添加 beforeEach() cypress/support/index.js .

beforeEach(function() {

const testFilter = Cypress.env('TEST_FILTER');
if (!testFilter) {
return;
}

const testName = Cypress.mocha.getRunner().test.fullTitle();
if (!testName.includes(testFilter)) {
this.skip();
}
})
请注意,您必须使用 function()不是箭头函数。
变量 testName包括嵌套 context() 中的文本, describe() , 和 it() ,例如,在样本 中assertions.spec.js 由 Cypress 提供
这个
context('Assertions', () => {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/assertions')
})

describe('Implicit Assertions', () => {
it('.should() - make an assertion about the current subject', () => {
有一个 testName
"Assertions Implicit Assertions .should() - make an assertion about the current subject"
在 package.json
  "scripts": {
"cy:open": "cypress open",
"cy:filter:implicit": "set CYPRESS_TEST_FILTER=Implicit & cypress open"
},
请注意 CYPRESS_ 前缀,但在代码中它只是 TEST_FILTER .
然后,
yarn cy:filter:implicit
将跳过所有“显式断言”测试。

关于testng - 如何在 Cypress 中添加测试用例分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65045102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com