当在 Cypress 测试中存在多个断言时,如果一个断言失败了,那么 Cypress 会停止测试执行并输出错误消息。但是有时我们可能希望测试继续执行下去,即使有些断言失败了。这时,可以使用 chai
库中的 chai-soft-assertions
插件,它可以让我们跳过失败的断言并继续执行测试。下面是具体的步骤:
- 安装
chai
和 chai-soft-assertions
:
npm install --save-dev chai chai-soft-assertions
- 引入
chai-soft-assertions
并启用它:
import 'chai-soft-assertions';
chai.use(chaiSoftAssertions);
- 在测试中使用
softExpect
代替 expect
,并在末尾添加 assertAll
方法以确保在测试完成后抛出断言失败的错误:
it('should verify multiple assertions', () => {
cy.visit('/');
// 使用 softExpect 代替 expect
softExpect(true).to.be.true;
softExpect(false).to.be.true;
softExpect(1).to.equal(2);
// 在末尾添加 assertAll 方法
softExpect().assertAll();
});
在上面的示例中,无论第二个和第三个断言是否成功,测试都会继续执行,只有在测试完成后才会抛出错误。