gpt4 book ai didi

node.js - 我可以更改 jasmine-node 的输出以在控制台中显示通过的测试以及失败的测试吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:08:50 26 4
gpt4 key购买 nike

我在运行 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,一个通过了,显示了圆点。我可以更改此配置以使其同时显示通过和失败的测试吗?

最佳答案

您需要使用 custom reporter .我建议使用 jasmine-console-reporter ,这将为您提供格式良好的输出,其中包括所有运行的测试(而不仅仅是失败的测试)。您的原始脚本将更改为以下内容:

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());

我个人认为使用 Gulpgulp-jasmine 最简单使定义清晰并放在一个地方,同时还允许我在测试之前运行构建步骤:

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()
}));
});

关于node.js - 我可以更改 jasmine-node 的输出以在控制台中显示通过的测试以及失败的测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com