将茉莉花testing结果输出到控制台

我在我的Firefox插件中使用Jasmine(JavaScript的BDDtesting框架)来testing我的代码的function。

问题是茉莉花正在输出testing结果到一个HTML文件,我需要的是萤火虫控制台或其他解决scheme输出结果。

你有没有试过ConsoleRepoter

jasmine.getEnv().addReporter(new jasmine.ConsoleReporter(console.log)); 

根据Jasmine的代码,ConsoleReporter类执行打印function(在这种情况下console.log)应该做你需要的。

如果一切都失败了,你可以用这个作为起点来实现你自己的console.log记者。

在最新版本的Jasmine(2.0)中,如果你想获得testing输出到控制台,你需要添加以下几行。

 var ConsoleReporter = jasmineRequire.ConsoleReporter(); var options = { timer: new jasmine.Timer, print: function () { console.log.apply(console,arguments) }}; consoleReporter = new ConsoleReporter(options); // initialize ConsoleReporter jasmine.getEnv().addReporter(consoleReporter); //add reporter to execution environment 

输出到html是默认包含的,所以如果你不需要html输出,你必须编辑你的boot.js文件并从那里删除相关的行。 如果您想自定义控制台编辑文件console.js中输出的显示方式。 资源

jasmineRequire.ConsoleReporter在2.3.0中不存在,所以我使用了下面的代码:

 //create a console.log reporter var MyReporter = function(){jasmineRequire.JsApiReporter.apply(this,arguments);}; MyReporter.prototype = jasmineRequire.JsApiReporter.prototype; MyReporter.prototype.constructor = MyReporter; MyReporter.prototype.specDone=function(o){ o=o||{}; if(o.status!=="passed"){ console.warn("Failed:" + o.fullName + o.failedExpectations[0].message); } }; var env = jasmine.getEnv(); env.addReporter(new MyReporter()); 

为了完整起见,这里是完整的configuration:

首先运行npm install命令:

 npm install jasmine-console-reporter --save-dev 

然后检查你的茉莉花configuration,以确保你的助手设置在那里:

spec/support/jasmine.json

 { "spec_dir": "spec", "spec_files": [ "**/*[sS]pec.js" ], "helpers": [ "helpers/**/*.js" ], "stopSpecOnExpectationFailure": false, "random": false } 

由于helpers是在specs之前执行的,所以你唯一需要做的就是创build一个控制台记者助手。

spec/helpers/reporter/consoleReporter.js

 const JasmineConsoleReporter = require('jasmine-console-reporter'); let consoleReporter = new JasmineConsoleReporter({ colors: 1, // (0|false)|(1|true)|2 cleanStack: 1, // (0|false)|(1|true)|2|3 verbosity: 4, // (0|false)|1|2|(3|true)|4 listStyle: 'indent', // "flat"|"indent" activity: false }); jasmine.getEnv().addReporter(consoleReporter); 
  • 茉莉花控制台记者在npmjs.com
  • 茉莉花风俗记者文件
  • 茉莉花configuration参考