我将Jasmine和业力整合到单位测试我的离子应用程序中。 我跟着这个blog。
当我运行karma start命令时,我会继续得到这个结果。
23 02 2017 16:39:18.508:WARN [业力]:没有捕获的浏览器,打开 23 02 2017 16:39:18.517:INFO [业力]:Karma v1.5.0服务器始于http://0.0.0.0:9876/ 23 02 2017 16:39:18.517:INFO [启动器]:启动具有无限并发性的浏览器Chrome 23 02 2017 16:39:18.536:INFO [启动器]:启动浏览器Chrome 23 02 2017 16:40:18.537:WARN [发射器]:Chrome在60000毫秒内未被捕获,造成死亡。 23 02 2017 16:40:18.910:INFO [启动器]:尝试再次启动Chrome(1/2)。 23 02 2017 16:41:18.911:WARN [发射器]:Chrome在60000毫秒内未被捕获,造成死亡。 23 02 2017 16:41:19.357:INFO [启动器]:尝试再次启动Chrome(2/2)。
尝试使用PhantomJS
相同错误
启动具有无限并发性的浏览器PhantomJS 23 02 2017 17:44:30.214:INFO [launcher]:启动浏览器PhantomJS
23 02 2017 17:45:30.215:WARN [发射器]:PhantomJS在60000毫秒内没有捕获,造成死亡。
23 02 2017 17:45:30.238:INFO [启动器]:尝试再次启动PhantomJS(1/2)。 23 02 2017 17:46:30.239:WARN [发射器]:PhantomJS在60000毫秒内没有捕获,造成死亡。
23 02 2017 17:46:30.246:INFO [launcher]:尝试再次启动PhantomJS(2/2)。
23 02 2017 17:47:30.247:WARN [发射器]:PhantomJS在60000毫秒内没有捕获,造成死亡。
23 02 2017 17:47:30.254:ERROR [启动器]:PhantomJS失败2次(超时)。放弃。
配置
// Karma configuration
// Generated on Thu Feb 23 2017 10:39:27 GMT+0530 (IST)
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'../www/lib/ionic/js/ionic.bundle.js',
'../www/js/**/*.js',
'../tests/unit-tests/**/*.js',
'../node_modules/angular-mocks/angular-mocks.js'
],
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],
// web server port
port: 9876,
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
// browsers: ['PhantomJS'],
browsers: ['Chrome'],
// customLaunchers: {
// Chrome_no_sandbox: {
// base: 'Chrome',
// flags: ['--no-sandbox']
// }
// },
plugins:[
'karma-jasmine',
'karma-phantomjs-launcher',
'karma-chrome-launcher'
],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity,
})
}

请帮忙
谢谢!
答案 0 :(得分:1)
这是该问题在Google上获得的最高成绩,因此即使它已经过时,我也希望我的回答对某人有所帮助。
在我们的情况下,此问题是由从错误的库导入多个文件引起的。这似乎很奇怪,因为您认为Karma会引发错误,而不仅仅是拒绝打开Chrome,但是更改我们的import语句可以使我们克服问题。
import { ChangeDetectionStrategy } from "@angular/core";
不是我们的文件了:从“ @ angular / compiler / src / core”导入{ChangeDetectionStrategy};
答案 1 :(得分:0)
尝试增加browserDisconnectTolerance。原因可能有所不同,从karma.config中的错误路径到不稳定的npm运行。