Tengo la siguiente prueba simple:
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 me advierte que no es necesario devolver una promesa. Pero si lo elimino, la prueba pasa de inmediato, incluso si el sitio no está activo:
describe("smoke test", () => { it("visit site", async () => { cy.visit(SITE_URL); cy.contains("banner text").should("be.visible"); }); });¿Hay una mejor manera de arreglar esta prueba? ¿La advertencia de Cypress es incorrecta o es algo en mi código?
Cypress ya incluye async bajo el capó, no es necesario en el código
describe("smoke test", () => { it("visit site", () => { cy.visit(SITE_URL); cy.contains("banner text").should("be.visible"); }); });Si desea hacer cosas asincrónicas en su código, use .then(), para trabajar con la promesa rendida. No use async, espere, ya que probablemente no funcionarán como se esperaba ... https://medium.com/@NicholasBoll/cypress-io-using-async-and-await-4034e9bab207