Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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 在命令行上使用jasmine和节点测试jquery视图,无窗口_Javascript_Jquery_Backbone.js_Jasmine - Fatal编程技术网

Javascript 在命令行上使用jasmine和节点测试jquery视图,无窗口

Javascript 在命令行上使用jasmine和节点测试jquery视图,无窗口,javascript,jquery,backbone.js,jasmine,Javascript,Jquery,Backbone.js,Jasmine,在命令行上使用jasmine测试我的主干应用程序时,我遇到了一个小问题,即当我的集合或视图使用jquery时,我没有可以使用的窗口,因此jquery抛出了无窗口错误 当然,我不能使用类似于jsdom的东西,因为这将在浏览器中实现视图时覆盖我的实际窗口。问题不是在实际的规范文件中使用jquery,因为我可以在这里使用jsdom 那么,有没有办法从我的视图或集合中将jquery设置为正确的版本?我尝试了以下操作,但jquery仍然无法看到窗口: if (global.window) { $

在命令行上使用
jasmine
测试我的主干应用程序时,我遇到了一个小问题,即当我的
集合
视图
使用
jquery
时,我没有可以使用的窗口,因此jquery抛出了无窗口错误

当然,我不能使用类似于
jsdom
的东西,因为这将在浏览器中实现
视图时覆盖我的实际窗口。问题不是在实际的规范文件中使用jquery,因为我可以在这里使用
jsdom

那么,有没有办法从我的视图或集合中将jquery设置为正确的版本?我尝试了以下操作,但jquery仍然无法看到窗口:

if (global.window) {
    $ = require('jquery');
} else {
    var jsdom = require("jsdom").jsdom;
    global.window = jsdom().parentWindow;
    $ = require("jquery")(window);
}

我建议您在KarmaJS(一种无头浏览器)的帮助下运行您的测试,这样您就可以在包括Windows在内的浏览器环境中运行所有东西。因此,如果不引入另一个测试框架(如Karma),就没有办法了?我希望用Jasmine来完成这一切实际上这不是一个框架,而是一个测试运行环境。我想你现在是和nodejs一起做的?我不知道窗口对象模拟有多可靠。我们刚刚使用了Karma,它成功了。太棒了,会给它一个goI会建议你在KarmaJS的帮助下运行你的测试-一个无头浏览器,所以你在浏览器环境中运行任何东西,包括窗口。所以没有办法不引入另一个测试框架,比如Karma?我希望用Jasmine来完成这一切实际上这不是一个框架,而是一个测试运行环境。我想你现在是和nodejs一起做的?我不知道窗口对象模拟有多可靠。我们刚刚使用了因果报应,它成功了。太棒了,我们会尝试一下