繁体   English   中英

使用Jasmine-node测试主干视图

[英]testing backbone views with Jasmine-node

我正在尝试使用jasmine-node测试我的主干视图,并且在运行单元测试时遇到了Jquery的问题。

骨干视图

var Backbone = require("Backbone"),
    $ = require('jquery');
    Template = require("mytemplate");
    Backbone.$ = $;

module.exports = Backbone.View.extend({// my view ...});

测试

 var Backbone       = require("Backbone"),
    MyView  = require("MyView");

 //specs ....

问题是:

我的观点很棒:)。 但是当我运行测试时,它说“ jQuery需要一个带有文档的窗口 ”。 我尝试使用jsdom,但对我没有用:(

是否有可能在茉莉花节点内运行jquery?

另外,我在Webpack中使用gulp

感谢大伙们

视图需要一个文档才能正常运行,因此在与它们所居住的实际环境(例如Web浏览器或无头浏览器)最接近的地方对其进行测试更有意义。

不确定gulp,但是对于grunt来说, https://github.com/gruntjs/grunt-contrib-jasmine是一个很棒的插件

我的解决方案是使用另一个名为jsdomjsdom jquery使用的window对象。

在每个测试套件的顶部都调用了以下内容(我只是将其包装在一个模块中,并且每次都要求将其放在顶部)。

global.window = require("jsdom")
                  .jsdom()
                  .parentWindow;
global.document = window.document;

但是我个人还是不推荐这种方法,我更喜欢phantomJs方法:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM