期望(js)不在superagent(js)内部工作

expect (js) not working inside superagent (js)

我正尝试为我一直在创建的其余 API 做 TDD。 NodeJS 新手。

我创建了一个 Rest API,并且我想根据响应执行所有 expect 检查。要发出 HTTP 请求,我正在使用 SuperagentJS(也尝试过 RequestJS)。

这是我的代码的样子(只有片段,不是整个代码)

var expect = require("chai").expect;
var request = require("superagent");

describe("Creation of New Entity", function(){
    it("Create a New Entity", function(){
        request
            .get("http://localhost")
            .end(function(err, httpResponse){
                expect("1234").to.have.length(3);//equals(500);
                expect(200).to.equals(200);
        });
    });
});

无论我尝试什么,mocha 总能给出成功的结果。 (所有测试用例均通过)

请告诉我这里缺少什么。我应该怎么做才能在 httpRespnse 上实施测试用例。我确定该请求工作正常,因为每当我使用 console.log(httpResponse.text) 时,它都会返回默认的 apache 主页。

node.js 中的所有网络都是异步的,因此您必须使用 it("Create a New Entity", function(done) { 的 mocha 异步风格,并在测试完成后调用 done 回调。

var expect = require("chai").expect;
var request = require("superagent");

describe("Creation of New Entity", function(){
    it("Create a New Entity", function(done){
        request
            .get("http://localhost")
            .end(function(err, httpResponse){
                expect(err).not.to.exist();
                expect("1234").to.have.length(3);//equals(500);
                expect(200).to.equals(200);
                done()
        });
    });
});