我正在尝试使用Cypress和testing-library / cypress检查DOM树中是否不存在元素。
如果我尝试进行cy.getByTestId("my-button").should("not.exist")
,则测试失败,因为它找不到元素。
如果我做cy.findByTestId("my-button").should("not.exist")
,也会由于超时而失败。
如果我执行cy.queryByTestId("my-button").should("not.exist")
或
cy.get('[data-testid="my-button"]').should("not.exist")
。
有人可以解释一下这4个之间的区别吗。
谢谢
答案 0 :(得分:2)
https://testing-library.com/docs/dom-testing-library/api-queries
getBy
如果找不到该元素,则会抛出错误findBy
如果找不到元素,将返回并拒绝Promise。queryBy
将返回null:这对于断言不存在的元素很有用。
看来queryBy
是解决此问题的最佳选择