使用JSDOM测试Backbone

时间:2015-01-31 23:37:25

标签: backbone.js requirejs jsdom requirejs-text

我试图找出如何使用jsdom和nodeunit作为测试框架来测试骨干网。

我收到了错误消息:"错误:调用节点需要("文字")失败并显示错误:错误:无法找到模块' text&# 39;"

什么意思,上下文无法加载requirejs-text插件。

我已经创建了DOM上下文:

var assert = require('assert'); 
var fs = require('fs');
var index_html = fs.readFileSync(__dirname + '/../static/index.html', 'utf-8');
var requirejs = require('requirejs');
var jsdom = require('jsdom');
// require('amdefine/intercept');
var jQuery = require('jquery');

在测试setUp上,尝试打开骨干视图时:

exports.setUp = function(callback){
    var document = jsdom.jsdom(index_html);
    var window = document.parentWindow;
    jsdom.getVirtualConsole(window).sendTo(console);

    requirejs.config({ 
      baseUrl: __dirname + '/',
      packages: [{
          name: 'text',
          location: '../node_modules/requirejs-text/text.js ',
          main: 'text.js'
        },
      ],
    });

    requirejs([__dirname + '/../lib/views/stackoverflow.js'], function(bb){
        callback();
    });
};

在调用回调之前引发异常。我使用的视图只是使用requirejs-text加载模板的常规视图。我还创建了GitHub Repository只是为了更好地解释这个问题。只需克隆它,输入项目目录并输入make。它应该重现我所做的所有步骤。

提前致谢!

0 个答案:

没有答案