Oce*_*uto 4 testing node.js 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 hello world", function(done){
request('http://localhost:3000/', function(err, res, body){
expect(body).toEqual('hello world');
done();
})
});
})
jasmine.execute();
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出:
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
Run Code Online (Sandbox Code Playgroud)
显然,一个失败,显示F,一个通过,显示点.我是否可以更改此配置以使其显示通过和失败的测试?
您将要使用自定义报告者.我建议使用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();
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用jasmine命令行来运行测试(因此Jasmine已将其帮助程序导出到您的命名空间中),您的代码将如下所示:
const Reporter = require('jasmine-console-reporter');
jasmine.getEnv().addReporter(new Reporter());
Run Code Online (Sandbox Code Playgroud)
我个人觉得最简单的方法就是使用Gulp和gulp-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()
}));
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |