1

我正在测试对 /abc/getme/login 的 POST 请求,标题为内容类型,并在正文中发送一个对象。我的代码如下:

describe('HTTP Method Test for app.js', function() {
  var frisby = require('frisby');
  frisby.post('http://localhost:8000/abc/getme/login', {
    username:"myusername",
    password:"mypassword"
  }, {json: true})
  frisby.addHeaders({
    'Content-type':'application/json'

  })
  frisby.expectHeaderContains('content-type', 'application/json')
  frisby.expectJSON({
    method: 'POST'
  }).toss();
}); 

我的错误是:

Failures:

  1) HTTP Method Test for app.js encountered a declaration exception
   Message:
     TypeError: frisby.addHeaders is not a function
   Stacktrace:
     TypeError: frisby.addHeaders is not a function
    at jasmine.Suite.<anonymous> (/home/srikanth/Desktop/qcs/QCS/server/spec/app_spec.js:8:20)
    at Object.<anonymous> (/home/srikanth/Desktop/qcs/QCS/server/spec/app_spec.js:2:5)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
4

1 回答 1

0

试试这个,它是 Frisby 的更新版本

var req = {
    method: "post",
    url: httpMode + "://" + url + "/v1/companies/" + companyId + "/accounts/login",
    headers : {
        "Accept": "application/json", 
        "content-type" : "application/json",
        "Authorization": "Basic " + Buffer.from(username + ":" + password).toString("base64")
    },
    body: {}
}; 

frisby.globalSetup({
    request: { 
        headers : req.headers
    }
});

it("Test login_account_spec", function(done){
    frisby.post(req.url)
        .expect("status", 200)
        .expect("header", "content-type", "application/json; charset=utf-8")
        .expect("jsonTypes", "data", {
            "user_id": Joi.string(),
            "role": Joi.string()
        })
        .then(function(res) {
            var body = res.body;
            body = JSON.parse(body);

            expect(body.data.role).toBeDefined();
            expect(body.data.user_id).toHaveLength(24);
        })
        .then(function(res) {
            record.createLogFile("login_account_spec" + dateTime, null, req, res);
        })
        .done(done);
}); 
于 2019-02-09T07:48:19.290 回答