-1
이 앱에는 GET /test
만 있고, 아직 POST /test
은 없습니다. 1.dat
이진 파일을 업로드하고 있는데 '404'응답을 반환해야하지만 수신자가 나타납니다. ECONNRESET 오류가 발생했습니다.NodeJS - GET 후 POST가 특급 응용 프로그램에서 작동하지 않는 이유는 무엇입니까?
var express = require('express');
var app = express();
var expect = require('expect.js');
var request = require('supertest');
var router = express.Router({
caseSensitive: true,
strict: true
});
router.get('/', function(req, res, next) {
res.send('test');
});
app.use('/test', router);
app.use(function(req, res, next) {
res.send('404');
});
Promise.resolve().then(function() {
var agent = request(app);
return new Promise(function(resolve, reject) {
agent
.get('/test')
.expect(200)
.end(function(err) {
if (err) {
return reject(err);
}
resolve(agent);
});
});
}).then(function(agent) {
return new Promise(function(resolve, reject) {
agent
.post('/test')
.attach('tmp', new Buffer([1, 2, 3]), '1.dat')
.expect(404)
.end(function(err, res) {
if (err) {
return reject(err);
}
resolve();
});
});
}).then(function() {
process.exit(0);
}).catch(function(err) {
console.log(err.stack);
process.exit(1);
});
그러나 .expect(404)
의 유효성을 검사 할 때이 오류가 발생하는 이유 :
[TypeError: Cannot read property 'status' of undefined]
네,하지만이 문제는 해결되지 않지만 여전히 동일한 예외가 발생합니다. 나는 문제의 뿌리를 발견했다. 아마도 나는 다른 질문을 만들 것이다. –
코드를 복사하고 위에서 변경 한 내용을 추가했습니다. 어쨌든 사용되지 않았기 때문에'var expect = require ('expect.js');도 제거했습니다. 모든 것이 완벽하게 작동하는 것 같습니다 (노드 버전 : v4.4.1, 명시 적 버전 4.14, Mac OS 10.11). 그것은 당신의 코드도 아니고 표현 된 것도 아닙니다. –