私は、次のチャイのHttpテストを持っている:送信するときJavascriptオブジェクトをポストするときにChaiがTypeErrorを投げているのはなぜですか?
it("should simulate the API tier filling out a report", (done) => {
// Send some JSON
let aReport = {"name": "Jack"};
chai.request(webapp.app)
.post('/report')
.set('content-type', 'application/json')
.send(aReport)
.end((err: any, res: any) => {
expect(err).to.be.null;
expect(res.body.report).to.be.ok;
expect(res).to.have.status(200);
done();
}).catch((error) => {
console.error('ERROR:', error);
done(error);
});
});
私は次のエラーを取得していますが、ログに記録:
TypeError: First argument must be a string or Buffer
at ClientRequest.OutgoingMessage.end (_http_outgoing.js:555:11)
at Test.Request.end (node_modules/superagent/lib/node/index.js:873:9)
at node_modules/superagent/lib/request-base.js:72:12
at Test.then (node_modules/superagent/lib/request-base.js:71:31)
at Test.exports.catch (node_modules/superagent/lib/request-base.js:81:15)
at Context.it (test/report.spec.ts:57:13)
それは私の理解してセンドのメソッドシグネチャですPOJOを受け入れ、適切な投稿を処理します。
質問: 上記の方法を使用すると、正しくJSONオブジェクトをchai-httpを使用してポストするのですか?