我目前可以通过

expect(response.statusCode).toEqual(200)


但是在下面做这条线

expect(body.name).toEqual('erilcompa')


给我一个不确定的
console.log(body)但是给出主体

全部看起来像这样:

var request = require("request");
var base_url = "http://127.0.0.1:3000/api"


 describe("Routes Suite", function(){
     var customerID;
    it("should make a quotation", function(done){

        request.post({url:base_url + '/customer',
        form: {
          'name': 'erilcompa',
          'vatNr': '22',
        }},
        function(error,response, body){

          expect(response.statusCode).toEqual(200)
          expect(body.name).toEqual('erilcompa')
          customerID = body.name

          console.log(response.statusCode)

          done()
        })
    })
 )}


这可能很明显,但是真的很感谢任何帮助!!

最佳答案

您应该使用JSON.parse来解析主体,因为主体参数的类型是字符串。

var bodyObj = JSON.parse(body);
expect(bodyObj.name).toEqual('erilcompa');


请注意,您的服务器必须发送格式正确的JSON格式对象

{"name":"erilcompa"}


您的代码应如下所示:

var request = require(“ request”);
var base_url =“ http://127.0.0.1:3000/api

describe("Routes Suite", function(){
    var customerID;
    it("should make a quotation", function(done){

        request.post({url:base_url + '/customer',
            form: {
                'name': 'erilcompa',
                'vatNr': '22',
            }
        },
        function(error,response, body){
            expect(response.statusCode).toEqual(200);
            var bodyObj = JSON.parse(body);
            expect(bodyObj.name).toEqual('erilcompa');
            customerID = body.name;
            console.log(response.statusCode);
            done();
        })
    })
)}

10-04 22:46
查看更多