需要保证赛普拉斯不会过早地通过测试
Need promise in order for Cypress not to pass test prematurely
我有以下简单测试:
describe("smoke test", () => {
it("visit site", async () => {
cy.visit(SITE_URL);
return new Promise((resolve) => cy.contains("banner text").should("be.visible").then(resolve));
});
});
Cypress 警告我没有必要 return 承诺。但是,如果我删除它,测试会立即通过,即使站点未启动也是如此:
describe("smoke test", () => {
it("visit site", async () => {
cy.visit(SITE_URL);
cy.contains("banner text").should("be.visible");
});
});
有没有更好的方法来修复这个测试?赛普拉斯的警告是错误的还是我的代码中有什么?
Cypress 已经在后台包含异步,代码中不需要它
describe("smoke test", () => {
it("visit site", () => {
cy.visit(SITE_URL);
cy.contains("banner text").should("be.visible");
});
});
如果您想在代码中执行异步操作,请使用 .then() 来处理 yielded promise。不要使用异步,等待,因为它们可能无法按预期工作... https://medium.com/@NicholasBoll/cypress-io-using-async-and-await-4034e9bab207
我有以下简单测试:
describe("smoke test", () => {
it("visit site", async () => {
cy.visit(SITE_URL);
return new Promise((resolve) => cy.contains("banner text").should("be.visible").then(resolve));
});
});
Cypress 警告我没有必要 return 承诺。但是,如果我删除它,测试会立即通过,即使站点未启动也是如此:
describe("smoke test", () => {
it("visit site", async () => {
cy.visit(SITE_URL);
cy.contains("banner text").should("be.visible");
});
});
有没有更好的方法来修复这个测试?赛普拉斯的警告是错误的还是我的代码中有什么?
Cypress 已经在后台包含异步,代码中不需要它
describe("smoke test", () => {
it("visit site", () => {
cy.visit(SITE_URL);
cy.contains("banner text").should("be.visible");
});
});
如果您想在代码中执行异步操作,请使用 .then() 来处理 yielded promise。不要使用异步,等待,因为它们可能无法按预期工作... https://medium.com/@NicholasBoll/cypress-io-using-async-and-await-4034e9bab207