现在我有咕噜声设置来监视文件更改并将它们提供给mocha,mocha运行测试。问题是当模块包含类似“nw.gui”的东西时,测试用例无法找到它们。有没有什么方法可以解决这个问题,我可以把它包括在内吗?
//indexeddb.spec.js
var assert = require("assert");
var IndexedDB = require("../scripts/indexeddb");
db = new IndexedDB();
console.log(db);
describe('IndexedDB', function(){
describe('initialize', function(){
it('Should throw an error when the paramaters are null', function(){
expect(db.initialize()).to.throwError();
});
});
});
//indexeddb.js
module.exports = exports = function(){
var indexedDB = require("nw.gui").Window.get().window.indexedDB;
var _ = require("../bower_components/underscore/underscore.js")
this.initialize = function(databaseName,version,schema) {
}
}
我应该这样做吗?我确实考虑过在webkit中的gui窗口中运行测试,但这需要我在页面上包含所有spec文件,并在每次我想运行测试时重新加载页面。随着grunt和watch我试图让它在编辑spec或src文件时运行每个文件的测试。
我还需要测试我在webkit窗口中打开的html / js / backbone页面。
感谢您的任何见解。
答案 0 :(得分:2)
https://github.com/varunvairavan/node-webkit-unit-testing
的代码示例找到一种在节点webkit上运行测试的方法,用手表重新加载页面上的文件更改。
当我找到https://github.com/visionmedia/mocha/issues/960
的链接时,我正在浏览此帖https://github.com/BenoitZugmeyer/chwitt/tree/5f9bc6c0b8c0328f1dc06a554e9fdd3a969c36ae/tests它的工作方式是,在测试目录中创建一个新的节点webkit应用程序,然后它包含该目录中以.spec.js结尾的所有文件,并在其中运行测试。它还会对源/测试文件夹中的文件更改进行页面重新加载。
我的文件位于test文件夹的子目录中,因此我使用node.js fs.readdir recursive directory search中的walk函数查找所有以" .spec.js"结尾的文件。