Javascript 检查某物的存在

Javascript 检查某物的存在,javascript,node.js,mocha.js,chai,koa,Javascript,Node.js,Mocha.js,Chai,Koa,我试图验证我添加的路由是否存在,但我在这里得到的未定义路由不是函数错误:routerUtil.setRoutes() 我还注意到,在koaRouter.get行上的routerUtil.js中出现语法错误,因为它无法识别get routerUtil.js 'use strict'; var koaRouter = require('koa-router')(); var router = module.exports = { router: koaRouter, setRo

我试图验证我添加的路由是否存在,但我在这里得到的未定义路由不是函数错误:
routerUtil.setRoutes()

我还注意到,在koaRouter.get行上的routerUtil.js中出现语法错误,因为它无法识别get

routerUtil.js

'use strict';

var koaRouter = require('koa-router')();

var router = module.exports = {
    router: koaRouter,
    setRoutes: setRoutes()
};

function setRoutes()
{
    koaRouter.get('default', '/', function *(next){

    });
}
var routerUtil = require('../../../routes/routerUtil');
var should = require('chai').should();
var koa = require('koa')();

describe('Feature: GET SomeResource REST Endpoint', function () {

    context('Scenario: No Results Exist - SomeResource', function () {

        var uri = '/SomeResource';

        describe('Given: There is a REST endpoint for this SomeResource', function () {

            // PASSES
            it('should have a router available', function(done){
                routerUtil.router.should.be.a('object');
                done();
            });

            // FAILS
            it('should have a default endpoint', function(){
                routerUtil.setRoutes();
                routerUtil.router.routes.name('default').should.exist;
            });
myBddTest.js

'use strict';

var koaRouter = require('koa-router')();

var router = module.exports = {
    router: koaRouter,
    setRoutes: setRoutes()
};

function setRoutes()
{
    koaRouter.get('default', '/', function *(next){

    });
}
var routerUtil = require('../../../routes/routerUtil');
var should = require('chai').should();
var koa = require('koa')();

describe('Feature: GET SomeResource REST Endpoint', function () {

    context('Scenario: No Results Exist - SomeResource', function () {

        var uri = '/SomeResource';

        describe('Given: There is a REST endpoint for this SomeResource', function () {

            // PASSES
            it('should have a router available', function(done){
                routerUtil.router.should.be.a('object');
                done();
            });

            // FAILS
            it('should have a default endpoint', function(){
                routerUtil.setRoutes();
                routerUtil.router.routes.name('default').should.exist;
            });

您应该导出函数
setRoutes
而不是函数调用的结果:

var router = module.exports = {
   router: koaRouter,
   setRoutes: setRoutes // note the missing brackets
};

您应该导出函数
setRoutes
而不是函数调用的结果:

var router = module.exports = {
   router: koaRouter,
   setRoutes: setRoutes // note the missing brackets
};