【问题标题】:Node.js - Restify POST Mocha test failingNode.js - Restify POST Mocha 测试失败
【发布时间】:2017-03-23 12:16:35
【问题描述】:

我收到错误“来自/post 的响应无效”

在 main.js:23:27 在 parseResponse (node_modules/restify/lib/clients/json_client.js:91:9) 在 IncomingMessage.done (node_modules/restify/lib/clients/string_client.js:165:13) 在 endReadableNT (_stream_readable.js:913:12)

这是我的代码:

function get_settings(req, res, next) {
var text = "";
req.setEncoding("utf8");
res.send(200, {ok: 'ok'});
}
var server = restify.createServer({
name: 'test',
version: '0.0.1'});

server.use(restify.acceptParser(server.acceptable));
server.use(restify.queryParser());
server.use(restify.bodyParser());

server.post('/post', get_settings );

server.listen(5177,function() {
console.log('%s listening at %s', server.name, server.url);
});

摩卡测试:

var restify = require('restify');
var assert = require('assert');

// init the test client
var client = restify.createJsonClient({
url: 'http://141.37.168.79:5177',
version: '*'
});

describe('service: post endpoint', function() {

// Test #1
describe('200 response check', function() {
it('should get a 200 response', function(done) {
    client.post('/post', { hello: 'world' }, function(err, req, res, data) {                
        if (err) {
            throw new Error(err);
        }
        else {

            if (data.code) != 200) {
                throw new Error('invalid response from /post');
            }
            done();
        }
    });
});
});

});

【问题讨论】:

    标签: node.js post mocha.js restify


    【解决方案1】:

    一见钟情

    if (data.code) != 200)
    

    看起来不太好。你在那里有一个额外的括号。

    除此之外,我认为您访问状态码的方式是使用 res.statusCode

    【讨论】:

      猜你喜欢
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多