{ cy.vi-6ren">
gpt4 book ai didi

cypress - 如何修复警告 "Cypress detected that you returned a promise in a test"

转载 作者:行者123 更新时间:2023-12-03 20:27:44 24 4
gpt4 key购买 nike

我正在用 cypress 编写一个测试,以检查是否将新项目添加到列表中。我不想对长度进行硬编码,我想确认列表的大小增加了 1。此代码有效:

  beforeEach(() => {
cy.visit('/page/1');
});

it('happy path comments', async function() {
cy.get('[data-cy=commentList]').should('have.length', 1);
const list = await cy.get('[data-cy=commentList] [data-cy=comment]');
const beforeLength = list.length;
cy.get('[data-cy=commentBody]').type('foobar');
cy.get('[data-cy=submit]').click();
cy.get('.[data-cy=commentList] [data-cy=comment]').should(
'have.length',
beforeLength + 1
);
cy.get('[data-cy=commentBody]').should('have.value', '');
});


但是,这会生成以下警告:

cypress_runner.js:84852 Cypress Warning: Cypress detected that you returned a promise in a test, but also invoked one or more cy commands inside of that promise.

The test title was:

Comments happy path comments



虽然这在实践中有效,但它通常表明
反模式。你几乎不需要同时返回 promise 和
调用 cy 命令。

我该如何解决这个警告?

最佳答案

删除 async/await从你的测试。 Cypress 命令不是 promise ,尽管表现得像 promise 。阅读更多 here .

此外,您不能分配或使用任何 Cypress 命令的返回值。命令被排队并异步运行。命令真正返回的是 Chainable,换句话说,它是一种使用所需值解析的队列对象。阅读更多 here .

关于cypress - 如何修复警告 "Cypress detected that you returned a promise in a test",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57228703/

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