Node.js使用supertest,express发布请求测试,mocha返回undefined

时间:2017-04-23 21:06:48

标签: node.js unit-testing mocha supertest

我已经查看了网站上的类似问题,但我无法看到它们如何适用于我的问题:

const request = require('supertest');
var express = require('express');
const mocha = require('mocha');

var bodyParser = require('body-parser')
var app = express()
app.use(bodyParser());

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())

describe("Post valid ID", function(){
    it("returns expected data", function(done){
        var goodID = ({id: '100', name: 'Edith'});

        request("http://localhost:8000")
        .post("/users")
        .set('Accept', 'application/json')
        .type("json")
        .expect('Content-Type', 'application/json; charset=utf-8')
        .send(goodID)
        .expect(200)
        .expect({surname: 'Jones'}, done);
    });
});

使用Postman运行POST请求会给出预期的响应,但是返回undefined。在我的应用程序代码中,我在req.body上放了一个console.log,它显示为未定义。

从我在互联网上可以看到的这些错误似乎与没有身体解析器到位有很多关系,但我的确存在。

0 个答案:

没有答案