因为业力茉莉花需要适当的记者

我有一个相当简单的karma.config.js文件

basePath = '../'; files = [ JASMINE, JASMINE_ADAPTER, 'js/lib/angular*.js', 'test/lib/angular/angular-mocks.js', 'js/**/*.js', 'test/unit/**/*.js' ]; autoWatch = true; browsers = ['PhantomJS']; 

当我运行karma start config/karma.conf.js --single-run我收到以下输出

 $ karma start config/karma.conf.js --single-run [2013-06-24 23:47:08.750] [DEBUG] config - autoWatch set to false, because of singleRun INFO [karma]: Karma server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS 1.9 (Mac)]: Connected on socket id LwMoWxzIbSUuBsvIqB_m PhantomJS 1.9 (Mac): Executed 6 of 6 SUCCESS (0.073 secs / 0.02 secs) 

我一直在寻找一些东西来告诉我如何得到被logging的testing的输出(例如SUCCESS Unit: services myService should behave

我可以看到testing的输出的唯一方法是打开Chrome,然后单击“debugging”,然后显示开发人员工具控制台。 我想消息被注销到terminal,但我不知道如何得到这个工作。

通过安装karma-spec-reporter来修复

npm install karma-spec-reporter --save-dev

并添加这个我的karma.config.js

reporters: ['spec'],

根据业力文件

默认情况下,Karma加载所有同级的NPM模块,名称与karma- *匹配。

但有些用户不得不将以下内容添加到他们的configuration中

plugins: ['karma-spec-reporter']

这里是我的工作(草稿)configuration没有“插件”部分(实际上我不完全明白为什么我需要指定他们…):

的package.json

  "devDependencies": { [...] "grunt-karma": "~0.9.0", "karma": "~0.12.24", "karma-jasmine": "~0.2.3", "karma-chrome-launcher": "~0.1.5", "karma-phantomjs-launcher": "~0.1.4", "karma-spec-reporter": "0.0.13" } 

karma.conf.js

 module.exports = function (config) { config.set({ frameworks: ['jasmine'], reporters: ['spec'], browsers: ['PhantomJS'] }); }; 

Gruntfile.js

  karma: { options: { configFile: 'karma.conf.js', files: [ 'app/libs/angular.js', 'app/libs/angular-resource.js', 'app/libs/angular-route.js', [...] 'app/modules/**/*-spec.js' ] }, unit: { singleRun: true } } 

现在,当我从*-spec.js文件( describe('message', function() ...) )运行grunt karma消息时,它们在控制台中显示得很好。

只是另一个细节 – 如果你保留在karma.config.js的默认记者'进展',如下所示:

 reporters: ["progress", "spec"] 

或另一个控制台的记者,“规格”记者输出将无法正常工作。

您应该只保留“规格”一个,或与其他浏览器记者“规格”。 例如:

 reporters: ["spec", "coverage"]