Я использую 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');
});
});
});
Это выход:
[email protected]:~/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 не производит никакого вывода.
Что мне нужно сделать, чтобы этот тест не прошел должным образом?
Пожалуйста, подумайте об отрицании названия; как сейчас, это в конечном счете правильно, но сбивает с толку. – 11684
Он не проходит (или не работает), он не запускается вообще («0 утверждений»). См. [Документация] (http://pivotal.github.io/jasmine/#section-Asynchronous_Support) о том, как запускать асинхронные тесты. – JJJ