2017-05-25 9 views
1

404は、ステータス受信モカチャイテストはいつも私がこのテストファイルを作成してい

let chai = require('chai'); 
let chaiHttp = require('chai-http'); 
let server = require('../index'); 
chai.use(chaiHttp); 

describe('Users',() => { 
    describe('/GET users',() => { 
    it('it should GET all the users', (done) => { 
     chai.request(server).get('/user/get-all-users').end((err, res) => { 
      res.should.have.status(200) 
      done() 
     }); 
    }); 
    }); 
}); 

このルートはうまく動作しますが、テストで実行しているとき、私はいつも私が使用している404

をテストの失敗を取得私はこれをm

をそれを考え出し

global.server = restify.createServer({ 
    url  : config.base_url, 
    name : config.name, 
    version : config.version, 
    log  : bunyanWinston.createAdapter(log), 
    }) 
+0

あなたのサーバーには正しいサーバーURLが含まれていますか? – bxN5

+0

私のURLはlocalhost:3000 –

+0

あなたの文脈の中のサーバ変数はオブジェクトのように見えます show console.log(サーバ) – bxN5

答えて

0

、私のサーバーを実行するためのrestify yサーバ:

'use strict' 

/** 
* Module Dependencies 
*/ 
const config  = require('./config'), 
    restify  = require('restify'), 
    bunyan  = require('bunyan'), 
    winston  = require('winston'), 
    bunyanWinston = require('bunyan-winston-adapter'), 
    mongoose  = require('mongoose') 

/** 
* Logging 
*/ 
global.log = new winston.Logger({ 
    transports: [ 
    new winston.transports.Console({ 
     level: 'info', 
     timestamp:() => { 
     return new Date().toString() 
     }, 
     json: true 
    }), 
    ] 
}) 

/** 
* Initialize Server 
*/ 
global.server = restify.createServer({ 
    url  : config.base_url, 
    name : config.name, 
    version : config.version, 
    log  : bunyanWinston.createAdapter(log), 
}) 

/** 
* Middleware 
*/ 
server.use(restify.jsonBodyParser({ mapParams: true })) 
server.use(restify.acceptParser(server.acceptable)) 
server.use(restify.queryParser({ mapParams: true })) 
server.use(restify.fullResponse()) 


/** 
* Error Handling 
*/ 
server.on('uncaughtException', (req, res, route, err) => { 
    log.error(err.stack) 
    res.send(err) 
}); 

/** 
* Lift Server, Connect to DB & Bind Routes 
*/ 
server.listen(config.port, 'localhost', function() { 

    mongoose.connection.on('error', function(err) { 
    log.error('Mongoose default connection error: ' + err) 
    process.exit(1) 
    }) 

    mongoose.connection.on('open', function(err) { 

    if (err) { 
     log.error('Mongoose default connection error: ' + err) 
     process.exit(1) 
    } 

    log.info(
     '%s v%s ready to accept connections on port %s in %s environment. %s', 
     server.name, 
     config.version, 
     config.port, 
     config.env, 
     server.url 
    ) 

    require('./api/routes/') 

    }) 

    global.db = mongoose.connect(config.db.uri) 

}) 

module.exports = server 

コールバックリスン機能内にルートファイルが必要です。この方法ではルートが動作しますが、チャイはルートを見つけることができません。コールバックからルートを削除してindex.jsに置くだけでうまくいきます。

関連する問題