我使用Karma和Require进行单元测试,我注意到一些奇怪的事情。当连续运行karma 3-4次时,我得到了2-4个套接字连接。
INFO [karma]: Karma v0.12.2 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
WARN [watcher]: Pattern "/Users/mja07/workspace/common-js/test/unit/**/*.mock.js" does not match any file.
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket 5xynIaiG8NOrpBDAgy34 with id 19375535
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket amsV702P869uVb23gy35 with id 17909591这是test-main.js文件:
var tests = Object.keys(window.__karma__.files).filter(function (file) {
return (/(mock|spec)\.js$/).test(file);
});
require.config({
baseUrl: 'base',
paths: {
angular: 'vendor/angular/angular',
'angular-cookies': 'vendor/angular-cookies/angular-cookies',
'angular-mocks': 'vendor/angular-mocks/angular-mocks',
'angular-route': 'vendor/angular-route/angular-route',
'angular-sanitize': 'vendor/angular-sanitize/angular-sanitize',
lodash: 'vendor/lodash/dist/lodash',
mock: 'test/unit/mock',
tweenlite: 'vendor/greensock/src/uncompressed/TweenLite',
'tweenlite-css': 'vendor/greensock/src/uncompressed/plugins/CSSPlugin'
},
shim: {
angular: {
exports: 'angular'
},
lodash: {
exports: '_'
},
tweenlite: {
deps: [
'tweenlite-css'
],
exports: 'TweenLite'
}
}
});
require(['config', 'angular'], function (cfg, A) {
require(['angular-cookies', 'angular-mocks', 'angular-route', 'angular-sanitize'], function () {
A.module(cfg.ngApp, []);
A.bootstrap(document, [cfg.ngApp]);
require(tests, function () {
window.__karma__.start();
});
});
});还有一个问题是,当我得到以下命令时,调试错误路径问题的速度有多快(参见完整路径):
WARN [web-server]: 404: /vendor/angular/angular.js
PhantomJS 1.9.7 (Mac OS X) ERROR: 'There is no timestamp for vendor/angular/angular.js!'感谢你的帮助
发布于 2014-04-01 22:18:52
问题已解决。当Karma崩溃时,你仍然有以前的Phantomjs进程,所以之后你会运行多个phantomjs实例吗
https://stackoverflow.com/questions/22787900
复制相似问题