2016-12-01 51 views
0

这里是输出从摩根Supertest显示经过时应该失败

:: FFFF:127.0.0.1 - - [01/DEC/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'并执行'end(done)' –

+0

@mparnisari谢谢,异步部分。发布你的答案将接受它:) – georoot

回答

1

问题是测试是异步的,mocha假设如果您没有从测试中返回承诺或指定回调函数,则测试是同步的(更多信息请参阅here)。

因此,添加一个回调函数。

it("Root endpoint returns 200", function(done) { 
    request(server) 
    .get('/temp') 
    .expect(200) 
    .end(done); 
});