You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何TestCafe无法识别含Selector与常量的表达式断言?

问题原因解析
  • TestCafe里Selector('some-expression').count返回的不是直接的数字值,而是一个Promise对象。
  • 第一种写法里,你直接拿Promise和someConstVar做减法运算,JavaScript会把Promise转换为数值类型,结果就是NaN,断言自然无法得到预期结果。
  • 第二种写法中,t.expect()方法支持接收Promise作为参数,TestCafe会自动等待这个Promise解析出真实的count数值,再和右边预先计算好的1 + someConstVar(普通数字)做相等性校验,所以能正常运行。

如果非要在断言里做减法运算,也可以先手动解析Promise拿到真实数值:

const actualCount = await Selector('some-expression').count;
await t.expect(actualCount - someConstVar).eql(1);

内容的提问来源于stack exchange,提问作者Litchy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:31:59