如何在Cypress中使用should断言原始数据类型及报错原因解析
Cypress .should() 断言原始类型的方法与错误解析
为什么会出现 x.should is not a function 错误?
你代码里的x是普通的JavaScript数字(原始类型),而Cypress的.should()方法是Cypress命令链专属方法,只有Cypress命令返回的可链式操作对象才拥有这个方法。普通JS变量(比如数字、字符串这类原始值)根本没有.should()属性,直接调用自然会报错。
如何用.should()断言原始类型?
要给原始类型用.should()断言,得先用cy.wrap()把原始值包装成Cypress命令链的一部分,这样就能链式调用.should()了。示例代码如下:
it('', function() { const x = 200 cy.wrap(x).should('be.greaterThan', 100) })
cy.wrap()的作用就是把任意JS值(不管是原始类型还是对象)转化为Cypress能识别的链式对象,之后你就可以用.should()写各种断言——比如判断相等、范围、布尔值等,语法和Chai断言完全一致。
内容的提问来源于stack exchange,提问作者Bogdan Lucaci
相关产品推荐
相关产品推荐

