Javascript 在jasmine中的expect中使用jquery选择器
我注意到,在编写jasmine单元测试时,通常的格式是:Javascript 在jasmine中的expect中使用jquery选择器,javascript,jquery,jasmine,jasmine-jquery,Javascript,Jquery,Jasmine,Jasmine Jquery,我注意到,在编写jasmine单元测试时,通常的格式是: expect($('#foo')).toHaveValue('#bar'); 但最近我意外地发现以下方法也有效: expect('#foo').toHaveValue('#bar'); 这是预期的行为吗?这似乎是一个更好的方式来写我的期望,但我从来没有见过这种符号之前,我想确定我没有滥用的东西 有没有人能确认这是一条路,或者告诉我这方面的任何文件 (我用的是)我已经试过了。看起来它真的很管用,不过有一些特点 我试过这样的方法: exp
expect($('#foo')).toHaveValue('#bar');
但最近我意外地发现以下方法也有效:
expect('#foo').toHaveValue('#bar');
这是预期的行为吗?这似乎是一个更好的方式来写我的期望,但我从来没有见过这种符号之前,我想确定我没有滥用的东西
有没有人能确认这是一条路,或者告诉我这方面的任何文件
(我用的是)我已经试过了。看起来它真的很管用,不过有一些特点 我试过这样的方法:
expect('.search-form').toBeInDOM();
expect('.search-form').toEqual('div');
expect('.search-form').toContainElement('.search-form__footer');
- 第一种方法通过了,但在转换为时确实失败了
.not.toBeInDOM()代码>
- 第三个看起来是一样的——它真的失败了,正在改变一些
toContainElement的选择器不正确
- 第二个问题是因为歧义:
可以被视为字符串和选择器”。搜索表单“
虽然我也找不到这种能力的任何迹象。然而,源代码就是源代码),它说的就是它说的。现在它说它将把实际的for
expect
作为一个选择器。我想提供jquery匹配器的库也提供了这个选项是有道理的。非常感谢您的洞察力!
toBeInDOM: function () {
return {
compare: function (actual) {
return { pass: $.contains(document.documentElement, $(actual)[0]) }
}
}
},