让Karma 1.1.0和Angular 2测试工作的问题
发布时间:2020-12-17 06:55:42 所属栏目:安全 来源:网络整理
导读:我使用Karma 1.1.0.这是我的karma.shim: 'use strict';// Tun on full stack traces in errors to help debuggingError.stackTraceLimit = Infinity;jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;// // Cancel Karma's synchronous start,// // we will call `
我使用Karma 1.1.0.这是我的karma.shim:
'use strict'; // Tun on full stack traces in errors to help debugging Error.stackTraceLimit = Infinity; jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000; // // Cancel Karma's synchronous start,// // we will call `__karma__.start()` later,once all the specs are loaded. __karma__.loaded = function() {}; var map = { 'app': 'base/app','rxjs': 'base/node_modules/rxjs','@angular': 'base/node_modules/@angular' }; // packages tells the System loader how to load when no filename and/or no extension var packages = { 'app': { main: 'main.js',defaultExtension: 'js' },'rxjs': { defaultExtension: 'js' } }; var packageNames = [ '@angular/common','@angular/compiler','@angular/core','@angular/http','@angular/platform-browser','@angular/platform-browser-dynamic','@angular/router','@angular/router-deprecated','@angular/testing','@angular/upgrade',]; // add package entries for angular packages in the form '@angular/common': { main: 'index.js',defaultExtension: 'js' } packageNames.forEach(function(pkgName) { packages[pkgName] = { main: 'index.js',defaultExtension: 'js' }; }); packages['base/app'] = { defaultExtension: 'js',format: 'cjs',map: Object.keys(window.__karma__.files).filter(onlyAppFiles).reduce(createPathRecords,{}) }; var config = { //"defaultJSExtensions": true,map: map,packages: packages }; System.config(config); System.import('@angular/platform-browser/src/browser/browser_adapter') .then(function(browser_adapter) { browser_adapter.BrowserDomAdapter.makeCurrent(); }) .then(function() { return Promise.all([ System.import('@angular/core/testing'),System.import('@angular/platform-browser-dynamic/testing/browser') ]); }) .then(function(modules) { var testing = modules[0]; var testingBrowser = modules[1]; testing.setBaseTestProviders(testingBrowser.TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,testingBrowser.TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS); }) .then(function() { return Promise.all(resolveTestFiles()); }) .then(function() { __karma__.start(); },function(error) { __karma__.error(error.stack || error); }); function createPathRecords(pathsMapping,appPath) { // creates local module name mapping to global path with karma's fingerprint in path,e.g.: // './vg-player/vg-player': // '/base/dist/vg-player/vg-player.js?f4523daf879cfb7310ef6242682ccf10b2041b3e' //console.log('appPath = '+appPath); var pathParts = appPath.split('/'); var moduleName = './' + pathParts.slice(Math.max(pathParts.length - 2,1)).join('/'); moduleName = moduleName.replace(/.js$/,''); pathsMapping[moduleName] = appPath + '?' + window.__karma__.files[appPath]; return pathsMapping; } function onlyAppFiles(filePath) { return //base/app/(?!.*.spec.js$).*.js$/.test(filePath); } function onlySpecFiles(path) { return /.spec.js$/.test(path); } function resolveTestFiles() { return Object.keys(window.__karma__.files) // All files served by Karma. .filter(onlySpecFiles) .map(function(moduleName) { // loads all spec files via their global module names (e.g. // 'base/dist/vg-player/vg-player.spec') return System.import(moduleName); }); } 这是我的Karma.conf: 'use strict'; module.exports = function (config) { config.set({ // base path,that will be used to resolve files and exclude basePath: '.',// frameworks to use frameworks: [/*'systemjs',*/ 'jasmine'],plugins: [/*'karma-systemjs',*/'karma-jasmine','karma-phantomjs-launcher'],files: [ // Paths loaded by Karma {pattern: 'node_modules/es6-shim/es6-shim.min.js',included: true,watched: true},{pattern: 'node_modules/reflect-metadata/Reflect.js',{pattern: 'node_modules/zone.js/dist/zone.js',{pattern: 'node_modules/zone.js/dist/async-test.js',{pattern: 'node_modules/systemjs/dist/system-polyfills.js',{pattern: 'node_modules/systemjs/dist/system.src.js',{pattern: 'node_modules/rxjs/**/*.js',included: false,watched: false},{pattern: 'node_modules/@angular/**/*.js',{pattern: 'node_modules/angular2-moment/*.js',{pattern: 'node_modules/ng2-bootstrap/**/*.js',{pattern: 'systemjs.config.js','karma-test-shim.js',// Paths loaded via module imports {pattern: 'app/**/*.js',// Paths to support debugging with source maps in dev tools {pattern: 'app/**/*.ts',{pattern: 'app/**/*.js.map',watched: false} ],// proxied base paths proxies: { // required for component assets fetched by Angular's compiler "/app/": "/base/app/","/jspm_packages/": "/base/jspm_packages/","/node_modules/": "/base/node_modules/" },// list of files to exclude exclude: [],// 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_DEBUG,// enable / disable watching file and executing tests whenever any file changes autoWatch: false,// Start these browsers,currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari (only Mac) // - PhantomJS // - IE (only Windows) browsers: ['PhantomJS'],// If browser does not capture in given timeout [ms],kill it captureTimeout: 60000,// Continuous Integration mode // if true,it capture browsers,run tests and exit singleRun: true }); }; 以下是测试的输出: 27 06 2016 15:40:15.281:DEBUG [plugin]: Loading plugin karma-jasmine. 27 06 2016 15:40:15.286:DEBUG [plugin]: Loading plugin karma-phantomjs-launcher. 27 06 2016 15:40:15.353:DEBUG [web-server]: Instantiating middleware 27 06 2016 15:40:15.916:INFO [karma]: Karma v1.1.0 server started at http://localhost:9876/ 27 06 2016 15:40:15.917:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 27 06 2016 15:40:15.937:INFO [launcher]: Starting browser PhantomJS 27 06 2016 15:40:15.938:DEBUG [temp-dir]: Creating temp dir at /var/folders/1p/pcqq7s0x58l_s7ds52gxt_fw0000gp/T/karma-11122462 27 06 2016 15:40:15.941:DEBUG [launcher]: /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs /var/folders/1p/pcqq7s0x58l_s7ds52gxt_fw0000gp/T/karma-11122462/capture.js 27 06 2016 15:40:16.559:DEBUG [web-server]: serving: /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma/static/client.html 27 06 2016 15:40:16.568:DEBUG [web-server]: serving: /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma/static/karma.js 27 06 2016 15:40:16.606:DEBUG [karma]: A browser has connected on socket /#H0v8H2WC0UICSQc6AAAA 27 06 2016 15:40:16.609:DEBUG [web-server]: upgrade /socket.io/?EIO=3&transport=websocket&sid=H0v8H2WC0UICSQc6AAAA 27 06 2016 15:40:16.609:DEBUG [proxy]: NOT upgrading proxyWebSocketRequest /socket.io/?EIO=3&transport=websocket&sid=H0v8H2WC0UICSQc6AAAA 27 06 2016 15:40:16.638:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#H0v8H2WC0UICSQc6AAAA with id 11122462 27 06 2016 15:40:16.638:DEBUG [launcher]: PhantomJS (id 11122462) captured in 0.721 secs 27 06 2016 15:40:16.642:DEBUG [phantomjs.launcher]: 27 06 2016 15:40:16.644:DEBUG [middleware:karma]: custom files null null 27 06 2016 15:40:16.644:DEBUG [middleware:karma]: Serving static request /context.html 27 06 2016 15:40:16.652:DEBUG [web-server]: serving: /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma/static/context.html 27 06 2016 15:40:16.655:DEBUG [web-server]: serving: /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma/static/context.js 27 06 2016 15:40:16.656:DEBUG [middleware:source-files]: Requesting /base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js?391e45351df9ee35392d2e5cb623221a969fc009 / 27 06 2016 15:40:16.656:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/jasmine-core/lib/jasmine-core/jasmine.js 27 06 2016 15:40:16.658:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/jasmine-core/lib/jasmine-core/jasmine.js 27 06 2016 15:40:16.658:DEBUG [middleware:source-files]: Requesting /base/node_modules/karma-jasmine/lib/boot.js?945a38bf4e45ad2770eb94868231905a04a0bd3e / 27 06 2016 15:40:16.658:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma-jasmine/lib/boot.js 27 06 2016 15:40:16.695:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma-jasmine/lib/boot.js 27 06 2016 15:40:16.695:DEBUG [middleware:source-files]: Requesting /base/node_modules/zone.js/dist/async-test.js?8f51e44ce2093ec5167bc06760f15344db17d094 / 27 06 2016 15:40:16.695:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/zone.js/dist/async-test.js 27 06 2016 15:40:16.695:DEBUG [middleware:source-files]: Requesting /base/node_modules/karma-jasmine/lib/adapter.js?7975a273517f1eb29d7bd018790fd4c7b9a485d5 / 27 06 2016 15:40:16.695:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma-jasmine/lib/adapter.js 27 06 2016 15:40:16.696:DEBUG [middleware:source-files]: Requesting /base/node_modules/es6-shim/es6-shim.min.js?a7de8db438da176dd0eeb59efe46306b39f1261f / 27 06 2016 15:40:16.696:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/es6-shim/es6-shim.min.js 27 06 2016 15:40:16.696:DEBUG [middleware:source-files]: Requesting /base/node_modules/reflect-metadata/Reflect.js?3b29d3315daf7d90c937da02c16da1a21c483296 / 27 06 2016 15:40:16.696:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/reflect-metadata/Reflect.js 27 06 2016 15:40:16.697:DEBUG [middleware:source-files]: Requesting /base/node_modules/zone.js/dist/zone.js?8b9c8d0a7e549abe9edec8da5a095f206d206277 / 27 06 2016 15:40:16.697:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/zone.js/dist/zone.js 27 06 2016 15:40:16.697:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/zone.js/dist/async-test.js 27 06 2016 15:40:16.697:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/karma-jasmine/lib/adapter.js 27 06 2016 15:40:16.698:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/es6-shim/es6-shim.min.js 27 06 2016 15:40:16.699:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/reflect-metadata/Reflect.js 27 06 2016 15:40:16.699:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/zone.js/dist/zone.js 27 06 2016 15:40:16.700:DEBUG [middleware:source-files]: Requesting /base/node_modules/systemjs/dist/system.src.js?ce47c157d0451bc324d5039dfc7b04fa1cf0925d / 27 06 2016 15:40:16.700:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/systemjs/dist/system.src.js 27 06 2016 15:40:16.700:DEBUG [middleware:source-files]: Requesting /base/systemjs.config.js?26fd20b806e5134f56094fb946fd4773b218adb2 / 27 06 2016 15:40:16.700:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/systemjs.config.js 27 06 2016 15:40:16.701:DEBUG [middleware:source-files]: Requesting /base/karma-test-shim.js?7706c128dfffb9507d9be32381f6509fe61a5afd / 27 06 2016 15:40:16.701:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/karma-test-shim.js 27 06 2016 15:40:16.702:DEBUG [middleware:source-files]: Requesting /base/node_modules/systemjs/dist/system-polyfills.js?a9f0c97e865a53da4c067b98cf2e65a23b2f0608 / 27 06 2016 15:40:16.702:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/systemjs/dist/system-polyfills.js 27 06 2016 15:40:16.702:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/systemjs/dist/system.src.js 27 06 2016 15:40:16.703:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/systemjs.config.js 27 06 2016 15:40:16.704:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/karma-test-shim.js 27 06 2016 15:40:16.763:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/systemjs/dist/system-polyfills.js 27 06 2016 15:40:16.783:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser/src/browser/browser_adapter.js / 27 06 2016 15:40:16.783:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/browser/browser_adapter.js 27 06 2016 15:40:16.783:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/browser/browser_adapter.js 27 06 2016 15:40:16.794:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser/src/dom/dom_adapter.js / 27 06 2016 15:40:16.795:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/dom/dom_adapter.js 27 06 2016 15:40:16.795:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/dom/dom_adapter.js 27 06 2016 15:40:16.796:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser/src/facade/collection.js / 27 06 2016 15:40:16.821:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/facade/collection.js 27 06 2016 15:40:16.821:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser/src/facade/lang.js / 27 06 2016 15:40:16.822:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/facade/lang.js 27 06 2016 15:40:16.822:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser/src/browser/generic_browser_adapter.js / 27 06 2016 15:40:16.822:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/browser/generic_browser_adapter.js 27 06 2016 15:40:16.823:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/facade/collection.js 27 06 2016 15:40:16.824:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/facade/lang.js 27 06 2016 15:40:16.824:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser/src/browser/generic_browser_adapter.js 27 06 2016 15:40:16.843:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing.js / 27 06 2016 15:40:16.843:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing.js 27 06 2016 15:40:16.844:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing.js 27 06 2016 15:40:16.844:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/platform-browser-dynamic/testing/browser.js / 27 06 2016 15:40:16.844:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/platform-browser-dynamic/testing/browser.js 27 06 2016 15:40:16.845:WARN [web-server]: 404: /base/node_modules/@angular/platform-browser-dynamic/testing/browser.js 27 06 2016 15:40:16.846:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/fake_async.js / 27 06 2016 15:40:16.847:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/fake_async.js 27 06 2016 15:40:16.871:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/fake_async.js 27 06 2016 15:40:16.872:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/lang_utils.js / 27 06 2016 15:40:16.872:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/lang_utils.js 27 06 2016 15:40:16.872:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/logger.js / 27 06 2016 15:40:16.872:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/logger.js 27 06 2016 15:40:16.872:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/ng_zone_mock.js / 27 06 2016 15:40:16.873:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/ng_zone_mock.js 27 06 2016 15:40:16.873:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/test_injector.js / 27 06 2016 15:40:16.873:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/test_injector.js 27 06 2016 15:40:16.873:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/testing.js / 27 06 2016 15:40:16.874:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/testing.js PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR { "stack": null,"originalErr": {},"line": 823,"sourceURL": "node_modules/systemjs/dist/system.src.js" } 27 06 2016 15:40:16.878:DEBUG [karma]: Run complete,exiting. 27 06 2016 15:40:16.878:DEBUG [launcher]: Disconnecting all browsers 27 06 2016 15:40:16.879:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/lang_utils.js 27 06 2016 15:40:16.880:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/logger.js 27 06 2016 15:40:16.880:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/ng_zone_mock.js 27 06 2016 15:40:16.881:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/test_injector.js 27 06 2016 15:40:16.882:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/testing.js 27 06 2016 15:40:16.920:DEBUG [launcher]: Process PhantomJS exited with code 0 27 06 2016 15:40:16.920:DEBUG [temp-dir]: Cleaning temp dir /var/folders/1p/pcqq7s0x58l_s7ds52gxt_fw0000gp/T/karma-11122462 27 06 2016 15:40:16.924:DEBUG [middleware:source-files]: Requesting /base/node_modules/@angular/core/testing/mock_application_ref.js / 27 06 2016 15:40:16.924:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/mock_application_ref.js 27 06 2016 15:40:16.925:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/node_modules/@angular/core/testing/mock_application_ref.js 27 06 2016 15:40:16.929:DEBUG [launcher]: Finished all browsers npm ERR! Test failed. See above for more details. 有人可以帮忙吗? 编辑: 我改变了: System.import('@angular/platform-browser-dynamic/testing/browser') 至: System.import('@angular/platform-browser-dynamic/testing') 它似乎进一步(它拿起spec文件)但我现在得到错误: 27 06 2016 16:53:23.427:DEBUG [middleware:source-files]: Requesting /base/app/session/session.service.spec.js / 27 06 2016 16:53:23.427:DEBUG [middleware:source-files]: Fetching /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/app/session/session.service.spec.js 27 06 2016 16:53:23.427:DEBUG [web-server]: serving (cached): /Users/julien/Documents/projects/bignibou/bignibou-site/bignibou-client/app/session/session.service.spec.js PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR { "stack": null,"originalErr": { "line": 3016,"sourceURL": "node_modules/systemjs/dist/system.src.js","stack": "node_modules/systemjs/dist/system.src.js:3016:137nnode_modules/systemjs/dist/system.src.js:3685:33nnode_modules/systemjs/dist/system.src.js:4172:37nnode_modules/systemjs/dist/system.src.js:1475:27nnode_modules/systemjs/dist/system.src.js:2707:28nregister@node_modules/systemjs/dist/system.src.js:2967:23nnneval codeneval@[native code]n__exec@node_modules/systemjs/dist/system.src.js:1510:18nexecute@node_modules/systemjs/dist/system.src.js:3926:22nlinkDynamicModule@node_modules/systemjs/dist/system.src.js:3252:36nlink@node_modules/systemjs/dist/system.src.js:3095:28nexecute@node_modules/systemjs/dist/system.src.js:3432:17ndoDynamicExecute@node_modules/systemjs/dist/system.src.js:798:32nlink@node_modules/systemjs/dist/system.src.js:1000:36ndoLink@node_modules/systemjs/dist/system.src.js:652:11nupdateLinkSetOnLoad@node_modules/systemjs/dist/system.src.js:700:24nnode_modules/systemjs/dist/system.src.js:512:30nF@node_modules/systemjs/dist/system-polyfills.js:4:12217nH@node_modules/systemjs/dist/system-polyfills.js:4:11846nwhen@node_modules/systemjs/dist/system-polyfills.js:4:15520nrun@node_modules/systemjs/dist/system-polyfills.js:4:14559n_drain@node_modules/systemjs/dist/system-polyfills.js:4:3250ndrain@node_modules/systemjs/dist/system-polyfills.js:4:1667ne@node_modules/systemjs/dist/system-polyfills.js:4:6607ninvoke@node_modules/zone.js/dist/zone.js:323:34nrunGuarded@node_modules/zone.js/dist/zone.js:230:54nnode_modules/zone.js/dist/zone.js:206:40" },"sourceURL": "node_modules/systemjs/dist/system.src.js" } 27 06 2016 16:53:23.436:DEBUG [karma]: Run complete,exiting. 27 06 2016 16:53:23.437:DEBUG [launcher]: Disconnecting all browsers 27 06 2016 16:53:23.451:DEBUG [launcher]: Process PhantomJS exited with code 0 27 06 2016 16:53:23.452:DEBUG [temp-dir]: Cleaning temp dir /var/folders/1p/pcqq7s0x58l_s7ds52gxt_fw0000gp/T/karma-42063498 27 06 2016 16:53:23.456:DEBUG [launcher]: Finished all browsers 解决方法
我这里有一个GitHub种子:
https://github.com/Coly010/angular2-karma
它具有测试与SystemJS和Karma一起使用所需的最低设置. Karma.conf.js // Karma configuration // Generated on Thu Jun 16 2016 11:08:35 GMT+0100 (GMT Summer Time) module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files,exclude) basePath: '',// plugins needed for karma to work plugins: ['karma-systemjs','karma-jasmine','karma-chrome-launcher'],// frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['systemjs','jasmine'],// need to set up SystemJS config for Karma systemjs : { configFile: 'systemjs.config.js',includeFiles: [ 'node_modules/reflect-metadata/Reflect.js','node_modules/zone.js/dist/zone.js' ],serveFiles: [ 'node_modules/@angular/**/*.js','lib/rxjs/**/*.js','bin/**/*.js' ],config: { paths: { 'systemjs': 'node_modules/systemjs/dist/system.src.js','system-polyfills': 'node_modules/systemjs/dist/system-polyfills.src.js','typescript': 'node_modules/typescript/lib/typescript.js','rxjs' : 'lib/rxjs/index.js','traceur': '/node_modules/traceur/dist/commonjs/traceur.js','reflect-metadata' : 'node_modules/reflect-metadata/Reflect.js','@angular': '/node_modules/@angular/**/*.js',//'angular-mocks': '' } },},// list of files / patterns to load in the browser files: [ 'node_modules/reflect-metadata/Reflect.js','node_modules/zone.js/dist/zone.js','node_modules/@angular/**/*.js','bin/tests/*.spec.js' ],// list of files to exclude exclude: [ 'lib/rxjs/tools/*.js',],// 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'],// 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: ['Chrome'],Karma captures browsers,runs the tests and exits singleRun: false,// Concurrency level // how many browser should be started simultaneous concurrency: Infinity }) } systemjs.conf.js /** * System configuration for Angular 2 samples * Adjust as necessary for your application needs. */ (function(global) { // map tells the System loader where to look for things var map = { 'src': 'src',// 'dist','bin': 'bin','@angular': '/node_modules/@angular','angular2-in-memory-web-api': '/node_modules/angular2-in-memory-web-api','rxjs': '/lib/rxjs','crypto': '@empty','fs': '@empty','minimist': '@empty','path': '@empty','systemjs-builder': '@empty','browserify': '@empty',}; // packages tells the System loader how to load when no filename and/or no extension var packages = { 'src': { defaultExtension: 'js' },'bin': { defaultExtension: 'js' },'rxjs': { defaultExtension: 'js' },'angular2-in-memory-web-api': { main: 'index.js',}; var ngPackageNames = [ 'common','compiler','core','http','platform-browser','platform-browser-dynamic','router','router-deprecated','upgrade',]; // Individual files (~300 requests): function packIndex(pkgName) { packages['@angular/'+pkgName] = { main: 'index.js',defaultExtension: 'js' }; } // Bundled (~40 requests): function packUmd(pkgName) { packages['@angular/'+pkgName] = { main: pkgName + '.umd.js',defaultExtension: 'js' }; }; // Most environments should use UMD; some (Karma) need the individual index files var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; // Add package entries for angular packages ngPackageNames.forEach(setPackageConfig); var config = { "transpiler": "typescript","typescriptOptions": { "module": "commonjs","emitDecoratorMetadata": true },meta: { '/node_modules/systemjs/dist/system.src.js': {format: 'global'} },packages: packages } System.config(config); })(this); 希望这可以帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |