javascript - 使用 Chai 进行单元测试时,未定义的 "TypeError: Cannot read property ' 地址'是什么意思?

标签 javascript node.js unit-testing mocha.js chai

当使用 chai 进行单元测试时,我不断收到此错误消息,但没有一个测试通过,即使它们应该通过。在这种情况下是什么意思? 谢谢。

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

var should = chai.should();
var app = server.app;
var storage = server.storage;

chai.use(chaiHttp);

describe('Shopping List', function() {
  it('should list items on GET', function(done) {
chai.request(app)
  .get('/items')
  .end(function(err, res) {
    res.should.have.status(200);
    res.should.be.json; // jshint ignore:line
    res.body.should.be.a('array');
    res.body.should.have.length(3);
    res.body[0].should.be.a('object');
    res.body[0].should.have.property('id');
    res.body[0].should.have.property('name');
    res.body[0].id.should.be.a('number');
    res.body[0].name.should.be.a('string');
    res.body[0].name.should.equal('Broad beans');
    res.body[1].name.should.equal('Tomatoes');
    res.body[2].name.should.equal('Peppers');
    done();
  });
   });

完整错误信息:

1) Shopping List should list items on GET:
     TypeError: Cannot read property 'address' of undefined
      at serverAddress (/home/ubuntu/workspace/thinkful-node-course/unit2/node_modules/chai-http/lib/request.js:252:17)
      at new Test (/home/ubuntu/workspace/thinkful-node-course/unit2/node_modules/chai-http/lib/request.js:244:53)
      at Object.obj.(anonymous function) [as get] (/home/ubuntu/workspace/thinkful-node-course/unit2/node_modules/chai-http/lib/request.js:216:14)
      at Context.<anonymous> (test-server.js:14:8)

最佳答案

而不是使用应用程序尝试使用:

chai.request('http://localhost:1234')
  .get('/items')

关于javascript - 使用 Chai 进行单元测试时,未定义的 "TypeError: Cannot read property ' 地址'是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39544239/

相关文章:

使用 Robolectric : java. lang.InstantiationException 的 Android 库 JUnit 测试

javascript - 从 node.js 上传图像到 twitter API

从另一个函数调用时,Javascript 函数返回未定义

javascript - 使用jquery了解选择表单中未选择的值

node.js - 如何在 Bookshelf 中获取已连接模型的模型?

python - 使用 Python 的 unittest 模块作为测试运行器时,如何在测试前运行初始化代码?

javascript - Angular - 添加基于 JSON 数据的样式

node.js - 如何为数据库查询创建动态辅助函数

node.js - Node.js如何读写多个文本文件

xcode - 尝试运行单元测试时出现 "A valid provisioning profile for this executable was not found"错误