2015-07-16 4 views
1

Я пытаюсь проверить, что маршрут я добавил там, но я получаю неопределенный не является функция ошибки здесь: routerUtil.setRoutes();Chai проверить существование чего-то

Я также заметил, что я получаю синтаксическую ошибку в моем routerUtil .js на линии koaRouter.get, поскольку он не распознает get.

enter image description here

routerUtil.js

'use strict'; 

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

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

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

    }); 
} 

myBddTest.js

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; 
      }); 

ответ

0

Вы должны экспортировать функцию setRoutes не результат вызова функции:

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