1
我有一個非常簡單的應用程序,它是nodejs,express和mysql 我是單元測試新手,我認爲這個應用程序是一個更好的方法。 什麼,我試圖完成(我認爲興農是答案)是嘲笑或存根mysql.insertEventIntoDB和我的應用程序rabbit.addToRabbitMQ使用nodejs,mocha,chai和sinon我想存根在路由中調用的函數
我有
app.use('/sendgrid', sendgrid(pool, config, logger));
在我sendgrid.js我有
var express = require('express');
var mysql = require('../app/utils/mysql');
var rabbit = require('../app/utils/rabbitMQ');
module.exports = function (dbpool, config, logger) {
var router = express.Router();
router.post('/callback', function (req, res) {
for (var x=0 ; x < req.body.length ; x++){
mysql.insertEventIntoDB(dbpool, req.body[x], logger);
rabbit.addToRabbitMQ(config,req.body[x], logger)
}
res.json({ status: 'OK' });
});
return router;
}
我已經看到了很多例子存根和spys的,但只是無法弄清楚如何從這些測試做。這是我的測試中的一個例子
it('should get an OK for delivered POST', function(done) {
chai.request(server)
.post('/sendgrid/callback')
.send(delivered)
.end(function(err, res){
res.should.have.status(200);
res.should.be.json;
res.body.should.be.a('object');
res.body.should.have.property('status');
res.body.status.should.equal('OK');
done();
});
});
感謝您的幫助/方向