当运行测试时,karma似乎多次重复上一次测试,重复测试的次数似乎取决于测试次数和用于运行的浏览器。
如果仅使用一个浏览器(PhantomJS或Chrome)进行一次测试,则测试会显示两次,当使用两种浏览器时,相同的单次测试最多显示6次。
我已经在测试中添加了日志,每个浏览器每次测试都会发生一次日志,因此测试运行的次数可能正确,但只是重复显示的结果。
karma.conf.js
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: [
'_test/test.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', 'Chrome'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
})
}
test.js
describe('karma testing', function () {
it('tests karma is working', function () {
expect(true).toBe(true);
console.log('test1');
});
});
输出1浏览器(Chrome)
07 10 2015 16:41:14.890:INFO [karma]: Karma v0.13.10 server started at http://localhost:9876/
07 10 2015 16:41:14.897:INFO [launcher]: Starting browser Chrome
07 10 2015 16:41:16.364:INFO [Chrome 45.0.2454 (Windows 7 0.0.0)]: Connected on socket 0uvPocfSI0prGxwdAAAA with id 29520633
LOG: 'test1'
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0 secs / 0.003 secs
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.011 secs / 0.003 secs)
输出2个浏览器(PhantomJS,Chrome)
07 10 2015 16:27:31.399:INFO [karma]: Karma v0.13.10 server started at http://localhost:9876/
07 10 2015 16:27:31.407:INFO [launcher]: Starting browser PhantomJS
07 10 2015 16:27:31.420:INFO [launcher]: Starting browser Chrome
07 10 2015 16:27:32.886:INFO [PhantomJS 1.9.8 (Windows 7 0.0.0)]: Connected on socket P5focoe7004aPX1rAAAA with id 49258591
07 10 2015 16:27:33.077:INFO [Chrome 45.0.2454 (Windows 7 0.0.0)]: Connected on socket BGtRdqevRGGXZTA-AAAB with id 42323971
LOG: 'test1'
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0 secs / 0.003 secs)
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs / 0.003 s
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs / 0.003 s
Chrome 45.0.2454 (Windows 7 0.0.0) LOG: 'test1'
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs / 0.003 s
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs / 0.003 secs)
PhantomJS 1.9.8 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.007 secs / 0.003 secs)
Chrome 45.0.2454 (Windows 7 0.0.0): Executed 1 of 1 SUCCESS (0.028 secs / 0.002 secs)
TOTAL: 2 SUCCESS
我已经安装了karma-cli并且没有安装了karma-cli,结果是相同的。
我已经查看了堆栈溢出和google,但有些人似乎遇到了类似问题,但没有有意义的答案。
答案 0 :(得分:0)
在尝试使用美化剂时,我遇到了类似的问题。
karma.conf有几个选项,比如autoWatch,浏览器,singleRun - 对吗?其中有一个叫做客户的财产。
客户端属性是一个具有自己的一些属性的对象。其目的是配置与测试客户端相关的设置,例如Chrome。
客户端有一个名为captureConsole的属性。默认为true,这意味着浏览器中的任何控制台日志都会发送回您的bash。因此,默认情况下启用该功能,我看到了Chrome的控制台日志记录和经过美化的点按输出。
在您的设置中尝试此设置,看看它是否有帮助!
client: {
captureConsole: false
},
答案 1 :(得分:0)
我知道这是多年前被问过的,但是你有没有机会从windows命令行运行业力?我有同样的问题,浪费了几个小时谷歌搜索,然后突然从powershell运行它,它工作得很好。还使用git bash。