我试图检测在使用 Cypress 运行测试时调用 API 端点的次数,我使用 cy.intercept() 将端点排除在外。我的代码是这样的:
cy.intercept("POST", "api/cancel/**", {
statusCode: 200,
}).as("cancel_contribution");
cy.intercept("PATCH", "/api/case/**", {
statusCode: 200,
body: {"message": "success"}
}).as("create_case_in_salesforce");
cy.visit("/");
cy.findByText("Manage recurring contribution").click();
cy.get('[data-cy="Cancel recurring contribution"]').click();
cy.findByText("Confirm cancellation").click();
cy.wait("@create_case_in_salesforce");
cy.wait("@cancel_contribution");
cy.get('[data-cy="cancellation_message"]');
expect('@create_case_in_salesforce').to.have.been.calledOnce;
expect('@cancel_contribution').to.have.been.calledOnce;
我试图确保这些端点在测试运行期间只被调用一次,但最后两行无效,我怎么能做到这一点?