0

我正在尝试为我一直在创建的 Rest 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);
        });
    });
});

无论我尝试什么,摩卡咖啡总是会产生成功的结果。(所有测试用例通过)

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

4

1 回答 1

2

node.js 中的所有网络都是异步的,因此您必须使用 mocha 异步风格it("Create a New Entity", function(done) {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()
        });
    });
});
于 2016-02-11T09:15:13.990 回答