Supertest显示失败时的传球

时间:2016-12-01 23:48:17

标签: node.js mocha supertest

以下是摩根的输出

  

:: ffff:127.0.0.1 - - [01 / Dec / 2016:23:44:19 +0000]“GET / temp HTTP / 1.1”404 17“ - ”“node-superagent / 2.3.0”< / p>

我写的测试是

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()中的函数来确认,但测试在mocha中正常运行且没有错误。我哪里错了?

1 个答案:

答案 0 :(得分:1)

问题是测试是异步的,mocha假设,如果你没有从测试中返回一个promise或指定一个回调函数,你的测试是同步的(更多信息here

所以,添加一个回调函数。

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