LearnBoost / tobi

Tobi: Expressive server-side functional testing with jQuery
409 stars 33 forks source link

Require ('app') for express 3.0 #90

Open alvaromuir opened 11 years ago

alvaromuir commented 11 years ago

Newbie question, but Tobi seems to think my server is never listening....

// server.js

var port = 3000;

module.exports = http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); });

// tobi

var app = require('./server') var browser = require('tobi').createBrowser(app);

// Express server listening on port 3000

browser.get('/', function(res, $){ console.log(res) });

browser.server

......... _connectionKey: '4:127.0.0.1:9001', deferred: [ { '0': 'GET', '1': '/', '2': {}, '3': [Function], '4': undefined }, { '0': 'GET', '1': '/', '2': {}, '3': [Function], '4': undefined } ], port: 9001, __started: true }

Why port 9001, and why does it think my server isn't running?

brettcave commented 10 years ago

Not sure if this has anything to do with it: https://github.com/LearnBoost/tobi

Browser

Tobi provides the Browser object, created via tobi.createBrowser(app), where app is a node http.Server, so for example Connect or Express apps will work just fine. There is no need to invoke listen() as this is handled by Tobi, and requests will be deferred until the server is listening.

Alternatively you may pass a port and host to createBrowser(), for example:

var browser = tobi.createBrowser(80, 'lb.dev');