gpt4 book ai didi

javascript - 在 jasmine 的期望中使用 jquery 选择器

转载 作者:行者123 更新时间:2023-11-29 23:53:09 24 4
gpt4 key购买 nike

我注意到你在编写 jasmine 单元测试时通常的格式是:

expect($('#foo')).toHaveValue('#bar');

但最近我无意中发现以下方法也有效:

expect('#foo').toHaveValue('#bar');

这是预期的行为吗?这似乎是一种更好的方式来写我的期望,但我以前从未见过这种符号,我想确保我没有滥用某些东西。

任何人都可以确认这是要走的路或指导我查看任何相关文档吗?

(我正在使用 jasmine jquery library )

最佳答案

我对此进行了一些尝试。看起来它确实有效,但有一些特殊之处。

我试过这样的事情:

expect('.search-form').toBeInDOM();
expect('.search-form').toEqual('div');
expect('.search-form').toContainElement('.search-form__footer');
  • 第一个通过并在更改为时真正失败.not.toBeInDOM();
  • 第三个看起来一样——它真的失败了toContainElement
  • 的错误选择器
  • 第二个是一个问题,因为它存在歧义:'.search-form' 可以被视为字符串和选择器。

对源代码进行了非常简短的查看,看起来匹配器确实解决了作为选择器的实际期望(示例 from):

toBeInDOM: function () {
return {
compare: function (actual) {
return { pass: $.contains(document.documentElement, $(actual)[0]) }
}
}
},

尽管我在 their docs 中找不到任何此类能力的迹象, 也。不过,源代码就是源代码 ))) 它说的就是它说的。现在它说它将把 expect 的实际值当作一个选择器。

关于javascript - 在 jasmine 的期望中使用 jquery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com