Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我能';t测试在我的主干视图中渲染的元素的可见性_Javascript_Jquery_Backbone.js_Jasmine_Sinon - Fatal编程技术网

Javascript 我能';t测试在我的主干视图中渲染的元素的可见性

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())来知道元素是否可见。第一局通过,第二局不通过 我在这里将代

我正在开发一个Backbone.js应用程序,在使用添加测试时,我在确定某些DOM元素的可见性方面遇到了问题:有些DOM元素在测试中被检测为不可见,而我可以在应用程序中正确地看到它们

我创建了一个复制问题的小示例,在两组元素上运行两次相同的测试:

  • 第一组直接出现在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);