2016-01-26 74 views
2

請問有誰知道我可以如何解決這個問題?我有我的測試:覆蓋範圍定義如下。沒有收集覆蓋範圍信息,沒有寫入覆蓋範圍信息退出,伊斯坦布爾覆蓋範圍

scripts{ 
"test:coverage": "babel-node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha ./src/_utils/__tests__/*.js" 
} 

,當我運行

npm run test:coverage 

我的摩卡運行良好和一切OK。但是我的伊斯坦布爾報道最終在標題中回覆了這個消息。而且,我的覆蓋文件夾保持空白。通過在線閱讀後,我確信我必須添加.istanbul.yml文件。然後我開始並添加以下

verbose: false 
instrumentation: 
    root: ./node_modules/.bin/istanbul 
    default-excludes: true 
    excludes: [] 
    embed-source: false 
    variable: __coverage__ 
    compact: true 
    preserve-comments: false 
    complete-copy: false 
    save-baseline: false 
    baseline-file: ./coverage/coverage-baseline.json 
reporting: 
    print: summary 
    reports: 
     - lcov 
    dir: ./coverage 
    watermarks: 
     statements: [50, 80] 
     lines: [50, 80] 
     functions: [50, 80] 
     branches: [50, 80] 
hooks: 
    hook-run-in-context: false 
    post-require-hook: null 

我運行後我的測試:再次覆蓋,以前的伊斯坦布爾錯誤dispappear。但是,標題中的無覆蓋消息仍然存在,並且覆蓋文件夾仍然保持空白。請問我哪裏錯了?任何幫助,將不勝感激。

回答

6

如果您遇到類似的問題,請知道問題出在伊斯坦布爾本身。你需要安裝babel-istanbul而不是伊斯坦布爾。我的報道:文字現在如下所示。

"test:coverage": "babel-node ./node_modules/.bin/babel-istanbul cover ./node_modules/.bin/_mocha ./src/**/__tests__/*.js", 

另外它的重要記憶和擺脫.istanbul.yml文件。相反,改變你的src到babel-istanbul。我刪除了我的.istanbul.yml文件並安裝babel-istanbul。它的工作正常。

1

這對我的作品與伊斯坦布爾1.0.0-alpha.2

babel-node ./node_modules/istanbul/lib/cli.js --include-all-sources cover ./node_modules/.bin/_mocha -- ./tests/ -R spec --recursive

這裏找到

Running Mocha + Istanbul + Babel

3

注:默認伊斯坦布爾排除類似試驗,測試和node_modules一些文件夾。如果在具有該名稱的文件夾上有腳本,則應使用--no-default-excludes,-i include-pattern和-x exclude-pattern來管理要包含或排除的文件夾。

例如:

istanbul cover --no-default-excludes --report=text -x '**/node_modules/**' _mocha test/*

0

我已經遇到了類似的問題,因爲你的,但它工作時,我切換到[email protected]per comment on their repo

istanbul cover --include-all-sources --report lcov -- _mocha test/**/*.test.js -R spec --timeout=60000 --compilers js:babel-core/register