I'm writing an app in node.js that includes some connect style endpoint handlers ( function(req,resp) ) and would like to write some unit tests against them without requiring the full app to be running.
I know I can "simply" push whatever fixture I manually write into it, but I was wondering if there is any library out there to help me generate these fixtures faster.
EDIT: to further explain what i want, I would like to in my unit test execute my handler only (not my app) and for that, i'd need a fake req and res. Those are the 2 objects I'd like to mock.
I'm currently using mocha as the test runner and the core assert module.
If you defined your routes in a way where you pass app
to a function then you could use supertest to test a route.
Test
var app = require('./real-or-fixture-app'); //depends on your setup
require('routeToTest')(app);
var request = require("supertest");
describe("Test", function(){
it("should test a route", function(done){
request(app)
.post("/route")
.send({data:1})
.expect(200, done);
});
});
Route definition
module.exports = function(app){
app.get("/route", ....
};
I am not quite sure that this is really what you are looking for, but it is a way to test your routes separately.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With