Node.js 我可以更改jasmine节点的输出以显示控制台中通过的测试以及失败的测试吗?
我在运行Node.js 我可以更改jasmine节点的输出以显示控制台中通过的测试以及失败的测试吗?,node.js,testing,jasmine,Node.js,Testing,Jasmine,我在运行node test.js时运行以下文件 var Jasmine = require('jasmine'); var jasmine = new Jasmine(); var request = require('request'); describe("test", function(){ it("works", function(){ expect(5 + 2).toEqual(4); }); it("should respond with
node test.js
时运行以下文件
var Jasmine = require('jasmine');
var jasmine = new Jasmine();
var request = require('request');
describe("test", function(){
it("works", function(){
expect(5 + 2).toEqual(4);
});
it("should respond with hello world", function(done){
request('http://localhost:3000/', function(err, res, body){
expect(body).toEqual('hello world');
done();
})
});
})
jasmine.execute();
这给了我以下输出:
Started
F.
Failures:
1) test works
Message:
Expected 7 to equal 4.
Stack:
Error: Expected 7 to equal 4.
at Object.<anonymous>
2 specs, 1 failure
Finished in 0.037 seconds
已启动
F
失败:
1) 测试工作
信息:
预计7等于4。
堆栈:
错误:预期7等于4。
反对。
2个规格,1个故障
以0.037秒完成
显然,一个失败,显示F,一个通过,显示点。我是否可以更改此配置,使其同时显示通过和失败的测试 您将需要使用一个。我建议使用,它将为您提供格式良好的输出,其中包括所有运行的测试(不仅仅是失败的测试)。您的原始脚本将更改为以下内容:
var Jasmine = require("jasmine");
var jasmine = new Jasmine();
var request = require('request');
// Register a Custom Reporter
const Reporter = require('jasmine-console-reporter');
jasmine.jasmine.getEnv().addReporter(new Reporter());
describe("test", function(){
it("works", function(){
expect(5 + 2).toEqual(4);
});
it("should respond with hello world", function(done){
request('http://localhost:3000/', function(err, res, body){
expect(body).toEqual('hello world');
done();
})
});
})
jasmine.execute();
请注意,如果您正在使用jasmine命令行运行测试(因此jasmine已将其助手导出到您的命名空间中),那么您的代码如下所示:
const Reporter = require('jasmine-console-reporter');
jasmine.getEnv().addReporter(new Reporter());
我个人认为,将其与Gulp一起使用最简单,并在一个地方明确定义,同时允许我在测试之前运行构建步骤:
const gulp = require('gulp');
const jasmine = require('gulp-jasmine');
const Reporter = require('jasmine-console-reporter');
gulp.task('default', function() {
gulp.src('spec/**/*.js')
.pipe(jasmine({
reporter: new Reporter()
}));
});
使用jasmine spec reporter>3.0.0,您需要通过以下方式检索报告程序:
const reporter=require('jasmine-console-reporter')。SpecReporter代码>