Я построил приложение, используя node.js + expressjs, и использую mocha для проверки моего запроса на отправку. Мой тест терпит неудачу, потому что ответ от моего почтового запроса является null
, но я не знаю, почему ...node.js/express/mocha testing post request issue
Мой API:
api.post('/api/addreport', function(req, res) {
console.log('add report hit..'); //this does not print during testing
console.log(req.body); //this does not print during testing
res.sendStatus(200);
});
Мой тест:
var express = require('express');
var app = express();
var chai = require('chai');
var expect = require('chai').expect;
var should = require('should');
var supertest = require('supertest');
var server = supertest.agent("https://localhost:3001");
var request = require('supertest');
var bodyParser = require('body-parser');
//Body parser
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
it("should post", function(done){
request(app.listen())
.post('/api/addreport/')
.send(data)
.end(function(res){
console.log('---response---');
console.log(res); //returns null
expect(res.status).to.equal(200); //returns status of null
done();
})
});
mocha ajax
работает результаты в:
1) should post:
Uncaught TypeError: Cannot read property 'status' of null
Мои данные:
var data = {
report_id: 'abc123' + Math.random(10),
project_code: 'test_project_code',
startDate: '2016-01-01',
endDate: '2016-01-15',
};
Может кто-нибудь помочь?
Заранее благодарен!
Ваши данные? Вы настроили курьер? –
Привет, я обновил свой вопрос, чтобы включить все мои тестовые пакеты и данные. И да, я использую курьерский экспресс. –
Ты ничего не испытываешь. Я бы хотя бы вызвал «сделанный (ошибочный)»; поэтому вы знаете, что ошибка не была возвращена. Иногда supertest не проверяет все условия (например, проверку 200) при возникновении ошибки. – Nicole