node.js + expressjs kullanarak bir uygulama geliştirdim ve posta isteğimi test etmek için mocha kullanıyorum.node.js/express/mocha test istek sonrası sorunu
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);
});
Testim:
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();
})
});
çalışan mocha ajax
sonuçları my sonrası isteğinden yanıtı null
ama neden bilmiyorum, çünkü benim test ...
Benim API başarısız içinde:
1) should post:
Uncaught TypeError: Cannot read property 'status' of null
Benim veriler:
var data = {
report_id: 'abc123' + Math.random(10),
project_code: 'test_project_code',
startDate: '2016-01-01',
endDate: '2016-01-15',
};
Birisi yardımcı olabilir mi?
Şimdiden teşekkürler!
Verileriniz nedir? Ekspres bodyparser'ı kurdunuz mu? –
Merhaba - tüm test bağımlılık paketlerini ve verilerini içerecek şekilde sorumu güncelledim. Ve evet ekspres bodyparser kullanıyorum. –
Hiçbir şeyi test etmiyorsunuz. En azından "done (err)" i çağırırdım. Bu yüzden hiçbir hatanın iade edilmediğini biliyorsunuz. Bazen en yüksek hata, bir hata oluştuğunda tüm koşulları (örneğin 200 kontrol) kontrol etmez. – Nicole