2017-08-04 112 views
1

運行ng測試後,我的測試運行器開始執行所有測試,但之後變爲空白。見下圖。Karma測試運行後執行測試屏幕變空白

enter image description here

我噶配置:

module.exports = function (config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['jasmine', '@angular/cli'], 
    plugins: [ 
     require('karma-jasmine'), 
     require('karma-chrome-launcher'), 
     require('karma-jasmine-html-reporter'), 
     require('karma-coverage-istanbul-reporter'), 
     require('@angular/cli/plugins/karma') 
    ], 
    client:{ 
     clearContext: false // leave Jasmine Spec Runner output visible in browser 
    }, 
    files: [ 
     { pattern: './src/test.ts', watched: false } 
    ], 
    preprocessors: { 
     './src/test.ts': ['@angular/cli'] 
    }, 
    mime: { 
     'text/x-typescript': ['ts','tsx'] 
    }, 
    coverageIstanbulReporter: { 
     reports: [ 'html', 'lcovonly' ], 
     fixWebpackSourcePaths: true 
    }, 
    angularCli: { 
     environment: 'dev' 
    }, 
    reporters: config.angularCli && config.angularCli.codeCoverage 
       ? ['progress', 'coverage-istanbul'] 
       : ['progress', 'kjhtml'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['Chrome'], 
    singleRun: false 
    }); 
}; 

我的package.json devDeps:

"devDependencies": { 
"@angular/cli": "1.0.3", 
"@angular/compiler-cli": "^4.0.0", 
"@types/jasmine": "2.5.38", 
"@types/node": "~6.0.60", 
"codelyzer": "~2.0.0", 
"jasmine-core": "~2.5.2", 
"jasmine-spec-reporter": "~3.2.0", 
"karma": "~1.4.1", 
"karma-chrome-launcher": "~2.1.1", 
"karma-cli": "~1.0.1", 
"karma-jasmine": "~1.1.0", 
"karma-jasmine-html-reporter": "^0.2.2", 
"karma-coverage-istanbul-reporter": "^0.2.0", 
"protractor": "~5.1.0", 
"ts-node": "~2.0.0", 
"tslint": "~4.5.0", 
"typescript": "~2.2.0" 

}

難道是一個版本的問題?也許升級我的Karma版本?這是通過cli安裝的,我相信它在早些時候工作,但不知何故它已經到了這一步。

+0

至於我記得,每次測試都完成時,瀏覽器處於閒置狀態時,屏幕一片空白,這是預期的行爲 –

+0

所以,如果所有測試通過屏幕變爲空白?我記得在測試完成後能夠看到所有的結果。 –

回答

0

罪魁禍首是 the Karma configurationclient.clearContext選項:

如果爲真,噶運行測試完成後清除上下文窗口。如果爲false,則Karma在完成運行測試後不會清除上下文窗口。嵌入Jasmine Spec Runner模板時,將其設置爲false非常有用。

爲了避免清屏,禁用此選項,像這樣(karma.conf.js):

module.exports = function (config) { 
    config.set({ 
     /* ... */ 
     client: { 
      clearContext: false 
     } 
     /* ... */ 
    }) 
} 
0

我有同樣的問題。設置clearContext標誌沒有任何區別。

對我來說,只有在使用--code-coverage參數時纔會發生。我可以手動指定記者進行修復:

karma start --code-coverage=true --reporters=progress,coverage-istanbul,kjhtml