2016-04-29 92 views
0

我是Node.js的新手。我必須在我的應用程序中設置一些測試,並且我很生氣,試圖在我的loopback應用程序中使用mochaistanbul生成後端代碼覆蓋率報告。伊斯坦布爾和摩卡的覆蓋率報告

通過DAB的千搜索解釋文章在Github上我發現了一些好的articles然後我想通了,我不得不使用這樣的事情:

istanbul cover _mocha -- [path/to/test/files] -R spec 

我很高興,因爲它說:「你們是什麼主要是通過命令將測試運行到伊斯坦布爾,伊斯坦布爾將代表您運行這些測試。「然而,每次我嘗試運行伊斯坦布爾的時候,我得到這個錯誤:

No coverage information was collected, exit without writing coverage information 
C:\...\proj-name\node_modules\.bin\_mocha:2 
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 
      ^^^^^^^ 

SyntaxError: missing) after argument list 

我的工作測試文件是:

var userService = require('../TestBusinessLogic.js'); 
var should = require('chai').should(); 

describe('API Utenti', function() { 
    it('should throw Exception on missing UserName', function() { 
    (function() { 
     userService({ Name: 'Pippo', Surname: 'Baudo' }); 
    }).should.Throw(Error); 
    }); 
}); 

這是命令不好用?如果沒有,請問有誰能解釋我如何使用istanbulmocha進行覆蓋報告?

回答

3

計算過,我是跑node_modules\.bin\_mocha,而不是node_modules\mocha\bin\_mocha,這解決了我的問題。

2

從命令行運行istanbul時,需要從項目目錄的根目錄運行它,默認情況下它會查找文件以運行目錄根目錄的覆蓋率報告。

此外請確保您的測試文件夾的路徑是相對於您的項目目錄。

所以,你應該使用cd,然後導航到你的項目目錄時,您的項目目錄中,然後運行

istanbul cover _mocha -- ./path-to/test.js -R spec

相關問題