I've just added shouldjs and mocha to my express app for testing, but I'm wondering how to test my application. I would like to do it like this:
app = require '../app'
routes = require '../src/routes'
describe 'routes', ->
describe '#show_create_user_screen', ->
it 'should be a function', ->
routes.show_create_user_screen.should.be.a.function
it 'should return something cool', ->
routes.show_create_user_screen().should.be.an.object
Of course, the last test in that test-suite just tells med that the res.render function (called within show_create_user_screen) is undefined, probably becouse the server is not running and the config has not been done. So I wonder how other people set up their tests?
Best Answer
found an alternative in connect.js tests suites
They are using supertest to test a connect app without binding the server to any port and without using mock-ups.
Here is an excerpt from connect's static middleware test suite (using mocha as the test runner and supertest for assertions)
This works for express apps as well