2013-10-09 16 views
5

我有一個現有的測試套件,使用摩卡,require和jasmine在node.js中正常運行,測試通過psake powershell腳本運行。我試圖增加測試覆蓋率,所以運行單元測試,而不是做的:我怎麼能得到伊斯坦布爾與節點,摩卡,茉莉花和jsmine工作

節點unitTest.js

我做

伊斯坦布爾蓋unitTest.js

這似乎工作但只給我關於unitTest.js本身的覆蓋信息,但不包含項目中使用的其他任何實際JavaScript文件。我猜這是因爲require/mocha組合,所以它不知道我使用的js文件。

我試着手動將所有文件作爲代碼覆蓋之前的一個步驟,並在複製/檢測文件上運行相同的命令,但得到了相同的結果。有關使這項工作的任何提示?

這裏是unitTest.js

的最後部分
requirejs(['mocha'], function(Mocha) { 
var mocha = new Mocha({reporter: (process.env['TEAMCITY_VERSION'] ? 'teamcity' : 'spec')}); 
// Hack to establish the global variables (sigh) 
mocha.suite.emit('pre-require', global, __filename, mocha); 

fswalk(__dirname, function(err, results) { 
    if (err) 
     console.warn(err); 
    else { 
     var testName = process.argv[2] || ""; 
     console.log("testName: " + testName); 
     var inclusionSuffixes = [testName + '.test.js']; 
     var exclusionSuffixes = ['.integration.test.js']; 
     var tests = _.filter(results, function (result) { 
      var test = function (suffix) { return result.indexOf(suffix) == result.length - suffix.length; }; 
      return _.any(inclusionSuffixes, test) && !_.any(exclusionSuffixes, test); 
     }); 
     requirejs(tests, function() { 
      mocha.run(function(failures) { 
       process.exit(failures); 
      }); 
     }); 
    } 
}); 

});

+1

使用參數--hook - 運行 - 在上下文中使其正常工作 – user2576666

+1

您能否讓它成爲答案? – gcedo

回答

-1

嘗試哄這些不同部分自己一起工作的替代方法是使用Intern

這對使用AMD(require.js)的項目特別有用。它在底層使用伊斯坦布爾,並有一個代理服務器,可以自動處理您的代碼。對於你正在嘗試做的事情來說,這是非常光滑的。

0

@ user2576666回答在評論的問題:

「使用參數--hook - 運行 - 在上下文使得它正常工作」

相關問題