我正在用 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', '');
});
Run Code Online (Sandbox Code Playgroud)
但是,这会生成以下警告:
cypress_runner.js:84852 Cypress 警告:Cypress 检测到您在测试中返回了一个承诺,但还在该承诺中调用了一个或多个 cy 命令。
测试标题是:
评论快乐路径评论
虽然这在实践中有效,但它通常表示一种反模式。您几乎不需要同时返回承诺和调用 cy 命令。
我该如何解决这个警告?
| 归档时间: |
|
| 查看次数: |
6795 次 |
| 最近记录: |