我在Webstorm中创建了一个Angular-CLI项目,我试图确保所有的测试都在运行。它启动Chrome浏览器,但不报告任何内容。所以我在第一个block中修改了app.component.spec.ts来添加一个console.log语句,该语句不会登录到控制台。Angular-cli没有运行spec.ts文件
它不会报告任何内容或给出任何错误,直到我手动关闭Chrome(出于某种原因,即使我将其设置为只运行一次,但不会自行关闭)。它也不显示console.log语句。
Karma.config在Chrome关闭
// Karma configuration file, see link for more information // https://karma-runner.github.io/0.13/config/configuration-file.html module.exports = function (config) { config.set({ basePath: '', frameworks: ['jasmine', 'angular-cli'], plugins: [ require('karma-jasmine'), require('karma-chrome-launcher'), require('karma-remap-istanbul'), require('angular-cli/plugins/karma') ], files: [ { pattern: './src/*/*.spec.ts', watched: false } ], preprocessors: { './src/test.ts': ['angular-cli'] }, mime: { 'text/x-typescript': ['ts','tsx'] }, remapIstanbulReporter: { reports: { html: 'coverage', lcovonly: './coverage/coverage.lcov' } }, angularCli: { config: './angular-cli.json', environment: 'dev' }, reporters: config.angularCli && config.angularCli.codeCoverage ? ['progress', 'karma-remap-istanbul'] : ['progress'], port: 9876, colors: true, logLevel: config.LOG_INFO, autoWatch: false, browsers: ['Chrome'], singleRun: true }); };
错误:
22 11 2016 10:01:27.657:ERROR [karma]: TypeError: Cannot read property 'map' of undefined at ProgressReporter._render (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\reporters\progress.js:53:26) at ProgressReporter.writeCommonMsg (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\reporters\progress.js:9: 44) at ProgressReporter.BaseReporter.onBrowserError (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\reporters\b ase.js:63:10) at Server. (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\events.js:13:22) at emitTwo (events.js:111:20) at Server.emit (events.js:191:7) at disconnect (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\browser.js:40:13) at Browser.onDisconnect (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\browser.js:157:7) at Socket. (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\karma\lib\events.js:13:22) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at Socket.emit (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\socket.io\lib\socket.js:128:10) at Socket.onclose (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\socket.io\lib\socket.js:425:8) at Client.onclose (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\socket.io\lib\client.js:232:24) at emitTwo (events.js:111:20) at Socket.emit (events.js:191:7) at Socket.onClose (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\engine.io\lib\socket.js:304:10) at WebSocket.g (events.js:291:16) at emitNone (events.js:86:13) at WebSocket.emit (events.js:185:7) at WebSocket.Transport.onClose (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\engine.io\lib\transport.js:126:8) at WebSocket.g (events.js:291:16) at emitTwo (events.js:106:13) at WebSocket.emit (events.js:191:7) at WebSocket.cleanupWebsocketResources (C:\Users\Amy\WebstormProjects\SportsTactician\node_modules\engine.io\node_modules\ws\lib\ WebSocket.js:927:10) at emitOne (events.js:101:20) at Socket.emit (events.js:188:7) at emitErrorNT (net.js:1276:8) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9)
不,我不关心autowatch的一种或另一种方式。但似乎没有测试!我讨厌跑无头,因为你不能以这种方式设置断点。 –
我不确定我是否理解这个问题。我有2配置默认,当我运行'npm运行测试'启动在自动测试chrome上的测试。我大部分时间都在使用,所以我可以设置断点和调试。另一种情况是当我运行'npm run test:headless'时,我在CI中使用并且只想在控制台中看到测试结果。你是否正在寻找像在铬中运行的东西,但不要留意变化? – majinnaibu
我认为这可能只是该特定版本的Angular-CLI的一个问题。你目前使用的是我在11月份使用的那个吗?根据下面的文档,该版本脱离了命令行开关,而不是karma配置文件。 –