A Mock Request object to use when testing an express app
express-mock-request is a utility function to make it easy to write tests for Node.JS Express applications. In fact, it was extracted from the Express test-suite here. I wanted to use it in my own application and I so I extracted it into this module and removed the mocha specific testing code.
First, install using npm:
npm install express-mock-request
Then require it in your test file like so:
var request = require'express-mock-request';
Let's say you want to test this simple express app to make sure it returns the proper status, body, and headers:
var express = require'express'var app = moduleexports = express;appget'/'ressend"ok" 'Content-Type': 'text/html' 200;;// Only start listening on 8080 when this file is run directly i.e.: node app.jsif!moduleparentapplisten8080;
You could write your test like so:
var request = require'express-mock-request';// require the express application, notice how we exported the express app using `module.exports` abovevar app = require'../app';// This example uses nodeunitrequestappget'/'expect// response is the response from hitting '/'testequalresponsebody "ok";testequalresponsestatusCode 200;testequalresponseheaders'content-type' "text/html";testdone;;
You can see more examples in the express test suite here.