我试图找出如何使用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。它应该重现我所做的所有步骤。
提前致谢!