【问题标题】:Chai check Existence of Something柴检查某物的存在
【发布时间】:2015-07-16 07:15:58
【问题描述】:

我正在尝试验证我添加的路由是否存在,但在这里我得到一个 undefined is not a function 错误: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){

    });
}

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

【问题讨论】:

    标签: javascript node.js mocha.js chai koa


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-05-19
      • 2016-09-04
      • 2023-04-04
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 2020-03-02
      • 2018-06-13
      • 2012-04-30
      相关资源
      最近更新 更多