2016-11-09 4 views
1

내가 오류 "포스트 /에서 유효하지 않은 응답"main.js에서Node.js를 -

얻을 실패 Restify POST 모카 시험 : 23 : parseResponse에서 27 (node_modules/restify/lib 디렉토리/클라이언트/json_client을 의 .js : 91 : IncomingMessage.done에서 9) (node_modules/restify/lib 디렉토리/클라이언트/string_client.js : endReadableNT (_stream_readable.js에서 13) : 165 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(); 
     } 
    }); 
}); 
}); 

}); 

답변

0

첫눈

if (data.code) != 200) 

에서 잘 보이지 않는다. 거기에 여분의 괄호가 있습니다.

그 외에도 상태 코드에 액세스하는 방법은 res.statusCode를 사용하는 것입니다.