Node.js - obtiens le message “Erreur: connexion ECONNREFUSED” lors de l'essai express app avec moka

Tout d'abord, je ne suis pas à l'écoute sur le port 80 ou 8080. Je suis à l'écoute sur le port 1337.

J'ai créé un simple serveur HTTP à l'aide de l'express. Voici la app.js script pour démarrer le serveur.

require('./lib/server').listen(1337)

Le serveur script est situé dans lib/server.js fichier, puisque le même script sera aussi utilisé dans le script de test.

var http = require('http')
,   express = require('express')
,   app = express()

app.get('/john', function(req, res){
    res.send('Hello John!')
})

app.get('/sam', function(req, res){
    res.send('Hello Sam!')
})

module.exports = http.createServer(app)

Et, enfin, le test/test.js:

var server = require('../lib/server')
,   http = require('http')
,   assert = require('assert')

describe('Hello world', function(){

    before(function(done){
        server.listen(1337).on('listening', done)
    })

    after(function(){
        server.close()
    })

    it('Status code of /john should be 200', function(done){
        http.get('/john', function(res){
            assert(200, res.statusCode)
            done()
        })
    })

    it('Status code of /sam should be 200', function(done){
        http.get('/sam', function(res){
            assert(200, res.statusCode)
            done()
        })
    })

    it('/xxx should not exists', function(done){
        http.get('/xxx', function(res){
            assert(404, res.statusCode)
            done()
        })
    })

})

Mais je reçois un 3/3 erreurs:

Hello world
1) Status code of /john should be 200
2) Status code of /sam should be 200
3) /xxx should not exists


 3 of 3 tests failed:

1) Hello world Status code of /john should be 200:
 Error: connect ECONNREFUSED
  at errnoException (net.js:770:11)
  at Object.afterConnect [as oncomplete] (net.js:761:19)

2) Hello world Status code of /sam should be 200:
 Error: connect ECONNREFUSED
  at errnoException (net.js:770:11)
  at Object.afterConnect [as oncomplete] (net.js:761:19)

3) Hello world /xxx should not exists:
 Error: connect ECONNREFUSED
  at errnoException (net.js:770:11)
  at Object.afterConnect [as oncomplete] (net.js:761:19)

Je ne comprends vraiment pas pourquoi cela, depuis mon script de test semble logique. J'ai couru le serveur node app.js et testés manuellement, localhost:1337/john et localhost:1337/sam et il fonctionne très bien!

De l'aide? Merci.

Avez-vous essayé de changer le numéro de port?
Le problème reste le même, quel que soit le port (modifié de façon aléatoire à plusieurs reprises).
Avez-vous essayé http://localhost:1337/john dans votre http.get()?
Grâce Amberlamps, en donnant le chemin complet fonctionne bien pour tous les tests. Pouvez-vous l'ajouter comme une réponse afin de valider et fermer la question?

OriginalL'auteur htaidirt | 2013-03-07