NodeWebkit使用grunt进行测试?

时间:2014-03-27 17:34:39

标签: node-webkit

现在我有咕噜声设置来监视文件更改并将它们提供给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页面。

感谢您的任何见解。

1 个答案:

答案 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"结尾的文件。