2016-12-01 5 views
0

Вот выхода из МорганаSupertest показывает прохождение, когда он должен терпеть неудачу

:: FFFF: 127.0.0.1 - - [01/Декабрь/2016: 23: 44: 19 +0000] «GET/температуры HTTP/1.1" 404 17 "-" "узел-SuperAgent/2.3.0"

И тесты, которые я написал в

var chai = require("chai"); 
var request = require('supertest'); 
var server = require("../app"); 

describe("Basic tests", function() { 
    describe("Check if server is running", function() { 
    it("Root endpoint returns 200", function() { 
     request(server) 
     .get('/temp') 
     .expect(200) 
     .end(); 
    }); 
    }); 
}); 

morgan показывает 404 код, который я также могу подтвердить передавая функцию в end(), но тест работает нормально в мокко без ошибок. Где я иду не так?

+0

Попробуйте передавая функцию обратного вызова 'done' для тестирования и делать' конца (сделано) ' –

+0

@mparnisari спасибо, Асинхронная часть. Опубликовать свой ответ примет это :) – georoot

ответ

1

Проблема заключается в том, что тест является асинхронным, а mocha предполагает, что если вы не вернете обещание от своего теста или не указали функцию обратного вызова, ваш тест является синхронным (больше информации here).

Итак, добавьте функцию обратного вызова.

it("Root endpoint returns 200", function(done) { 
    request(server) 
    .get('/temp') 
    .expect(200) 
    .end(done); 
}); 
Смежные вопросы