gpt4 book ai didi

javascript - 为什么这个 jasmine-node 测试没有失败?

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:37 25 4
gpt4 key购买 nike

我使用 Express.js 和 Jasmine-node 进行测试。这是我的服务器代码:

var express = require('express');
var app = express();

app.get('/', function (request, response) {
response.send("Bonjour!");
});

module.exports = app;

这是测试:

var request = require('http');
var app = require('../src/app');
var server;

describe('textreader', function(){

beforeEach(function(done){
server = app.listen(3333, function (err, result) {
if (err) {
done(err);
} else {
done();
}
});
});

afterEach(function(){
server.close();
});

it('responds to /', function(){
request.get("http://localhost:3333", function(response){
console.log(response.body);
expect(response.body).toEqual('foo');
});
});

});

这是输出:

mike@sleepycat:~/projects/textreader☺  grunt
Running "jshint:files" (jshint) task
>> 3 files lint free.

Running "jasmine_node" task

textreader
responds to /

Finished in 1.218 seconds
1 test, 0 assertions, 0 failures, 0 skipped

Done, without errors.

很明显,这个测试应该失败,因为服务器只能生成文本“Bonjour!”。其次,console.log 根本不产生任何输出。

我需要做什么才能使此测试按预期失败?

最佳答案

您的示例与 jasmine-node 上找到的示例很接近描述异步测试的页面。

您需要添加 done() 以使测试知道等待 500 毫秒(默认情况下)才能完成事务(或显示超时错误)。您的代码将如下所示:

it('responds to /', function(){
request.get("http://localhost:3333", function(response){
console.log(response.body);
expect(response.body).toEqual('foo');
done();
});
});

关于javascript - 为什么这个 jasmine-node 测试没有失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20352483/

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