[英]Why nodejs http request doesn't work when accessing a local served express app?
[英]NodeJS - Why POST after GET doesn't work in express app?
該應用程序只有GET /test
,還沒有POST /test
。 我正在將二進制文件1.dat
它,它應該返回帶有'404'的答案,但是似乎我收到的是ECONNRESET錯誤。
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]
您不會發送狀態404,而是會發送一個字符串。
app.use(function(req, res, next) {
res.status(404).end();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.