【问题标题】:Chai-http not workingChai-http 不工作
【发布时间】:2016-11-03 21:55:23
【问题描述】:

获取错误未捕获的类型错误:无法读取未定义的属性“应用” 在立即。 (node_modules/express/lib/router/index.js:618:14)

服务器和测试文件。

// server js file
'use strict';

var express = require('express');        // call express
var app = express();
var port = process.env.PORT || 8080;

// Routes for schedule API
var router = express.Router();
router.get('/', function(req, res, next) {
    res.json({"msg":'Hello, World!'});
});

app.listen(port);
console.log('Application running on port ' + port);

module.exports=router;

// test.js 
var chai = require('chai');
var chaiHttp=require('chai-http');

var server = require('../server');
var should = chai.should();
chai.use(chaiHttp);
describe('Scheduler', function () {            
    it('should return hello world', function (done) {
        chai.request(server)
            .get('/')
            .end(function (err, res) {
                res.should.have.status(200);
                done();
            };
    });
});

谁能帮我追踪这里出了什么问题?

【问题讨论】:

    标签: node.js express mocha.js chai


    【解决方案1】:

    你可以使用 expect 而不是应该更容易

    var chai = require('chai'), chaiHttp = require('chai-http');
    chai.use(chaiHttp);
    var expect = chai.expect;
    app.get('/check', function(req, res) {
    //exemple
    expect(req.query.ip,"IP Adress Mismatch").to.be.an.ip;
    }
    

    【讨论】:

    • 从快递中得到错误...所以我相信切换到期望不会解决这个问题。
    • 如果你从 //test.js 和之后的代码中删除你会得到错误吗?
    • 检查一下你的代码,它似乎可以正常工作,但是 var server = require('../server');可能找不到
    • 如果我把 log stmt router.get('/', function(req, res, next) { console.log("here"); res.json({"msg":'Hello , 世界!'}); });也可以在这里获取味精
    • 如果我从 get 方法返回 promise,我会得到一个错误 UnhandledPromiseRejectionWarning: Unhandled Promise Rejection (rejection id: 1): TypeError: res.json is not a function。
    猜你喜欢
    • 2016-06-04
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2012-03-20
    • 2015-09-12
    • 2020-02-18
    • 2015-09-14
    • 2017-05-10
    相关资源
    最近更新 更多