最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用Chai进行单元测试时,“TypeError:无法读取未定义的属性'地址'是什么意思?”

运维笔记admin10浏览0评论

使用Chai进行单元测试时,“TypeError:无法读取未定义的属性'地址'是什么意思?”

使用Chai进行单元测试时,“TypeError:无法读取未定义的属性'地址'是什么意思?”

当使用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)
回答如下:

发现问题:首先必须确保我正在测试的文件,server.js已正确导出到test.js文件。

此外,我忘了将test.js文件放在一个单独的测试文件夹中。我希望错误信息不是那么模糊。当我努力修复代码时,发送给我一个疯狂的追逐。

发布评论

评论列表(0)

  1. 暂无评论