Javascript 我能';t测试在我的主干视图中渲染的元素的可见性
我正在开发一个Backbone.js应用程序,在使用添加测试时,我在确定某些DOM元素的可见性方面遇到了问题:有些DOM元素在测试中被检测为不可见,而我可以在应用程序中正确地看到它们 我创建了一个复制问题的小示例,在两组元素上运行两次相同的测试:Javascript 我能';t测试在我的主干视图中渲染的元素的可见性,javascript,jquery,backbone.js,jasmine,sinon,Javascript,Jquery,Backbone.js,Jasmine,Sinon,我正在开发一个Backbone.js应用程序,在使用添加测试时,我在确定某些DOM元素的可见性方面遇到了问题:有些DOM元素在测试中被检测为不可见,而我可以在应用程序中正确地看到它们 我创建了一个复制问题的小示例,在两组元素上运行两次相同的测试: 第一组直接出现在SpecRunner.html中 第二个已渲染为主干视图 测试本身使用jQuery.is(':visible')(通过jasmine jQuery的.tobevible())来知道元素是否可见。第一局通过,第二局不通过 我在这里将代
- 第一组直接出现在SpecRunner.html中
- 第二个已渲染为主干视图
jQuery.is(':visible')
(通过jasmine jQuery的.tobevible()
)来知道元素是否可见。第一局通过,第二局不通过
我在这里将代码作为github项目共享:
我想我忘了什么,或者可能误用了图书馆,但我无法指认它,所以如果你有任何线索的话…:)
谢谢!
Maxime问题是您的
StuffView.el
未连接到DOM,因此始终不可见。您可能误解了className
和tagName
参数:它们不是用作选择器,而是用来构造一个全新的元素
这修复了第二个测试
el : "div.container",
//tagName : 'div',
//className : 'container',
或者,您可以在测试中手动将视图附加到DOM
$("body").append(this.view.el);