Ho un server express che sto testando usando i voti. Voglio eseguire il server dall'interno della suite di test di voti, in modo che non sia necessario eseguirlo in background affinché funzioni la suite di test, quindi posso semplicemente creare un'attività di torta che esegue il server e lo verifica in isolamento.Qual è il modo corretto per avviare il server dai voti per il test?
In server.coffee
ho creato il (esprimere) del server, configurato, istituito percorsi e chiamato app.listen (porta) in questo modo:
# Express - setup
express = require 'express'
app = module.exports = express.createServer()
# Express - configure and set up routes
app.configure ->
app.set 'views', etc....
....
# Express - start
app.listen 3030
Nel mio semplice routes-test.js
ho:
vows = require('vows'),
assert = require('assert'),
server = require('../app/server/server');
// Create a Test Suite
vows.describe('routes').addBatch({
'GET /' : respondsWith(200),
'GET /401' : respondsWith(401),
'GET /403' : respondsWith(403),
'GET /404' : respondsWith(404),
'GET /500' : respondsWith(500),
'GET /501' : respondsWith(501)
}).export(module);
dove respondsWith(code)
è funzionalità simili a quello del documento voti ...
Quando ho require
server nella abov e test, avvia automaticamente l'esecuzione del server e i test vengono eseguiti e superati, il che è ottimo, ma non mi sento di farlo nel modo giusto.
Non ho molto controllo su quando il server inizia e cosa succede se voglio configurare il server in modo che punti ad un ambiente di 'test' piuttosto che a quello di default, o cambi il livello di registrazione predefinito per quando sto testando?
PS Ho intenzione di convertire i miei voti in Coffeescript ma per ora è tutto in js come im in modalità di apprendimento dai documenti!
Si potrebbe dare un'occhiata a [Pact] (http://reid.github.com/pact/) - è per testare i server HTTP con i Voti. – Skilldrick
Grazie Skilldrick, controllerà Pact! – cjroebuck