2014-03-27 74 views
0

現在我已經安裝了grunt來監視文件更改並將它們提供給摩卡,並且mocha運行測試。問題是模塊包含類似「nw.gui」的測試用例無法找到它們的情況。有什麼辦法可以解決這個問題,我可以通過某種方式來包含它?使用grunt進行NodeWebkit測試?

//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我試圖讓它爲每個文件運行測試時,我編輯規範或src文件。

我還需要測試我在webkit窗口中打開的html/js/backbone頁面。

感謝您的任何見解。在https://github.com/varunvairavan/node-webkit-unit-testing

回答

2

代碼示例找到一種方法來在節點WebKit的運行測試的,有手錶重新加載文件更改的頁面。

我所經歷的這個帖子https://github.com/visionmedia/mocha/issues/960時,我找到了一個鏈接到https://github.com/BenoitZugmeyer/chwitt/tree/5f9bc6c0b8c0328f1dc06a554e9fdd3a969c36ae/tests

它的工作原理是,在您的測試目錄下創建一個新的節點的WebKit應用程序的方式,則包括該目錄中結束所有文件使用.spec.js並在其中運行測試。它還會對源/測試文件夾中的文件更改進行頁面重新加載。

我在測試文件夾的子目錄中存放了我的文件,所以我使用node.js fs.readdir recursive directory search的散步函數查找所有以「.spec.js」結尾的文件。

+1

嘿Varun!你應該考慮使用代碼示例來編輯這篇文章。它會將帖子「撞回」主頁的頂部,然後其他人可以看到並投票。 :) – jmort253