摩卡/应该'未定义不是一个函数'

时间:2015-11-16 00:06:13

标签: javascript mocha should.js

我要离开this教程,尝试使用Mocha,Supertest和Should.js进行测试。

我有以下基本测试通过PUT端点创建用户,该端点接受标头中的数据。

describe('User Routes', function () {
    it('should allow me to make my user', function (done) {
        request(url)
        .put('/users')
        .set(myCreds)
        // end handles the response
        .end(function(err, res) {
              if (err) {
                throw err;
              }
              // this is should.js syntax, very clear
              res.should.have.status(201);
              done();
            });
        });

但是,当端点确实触发,并且用户确实被触发时,代码会抛出should未定义的错误... Uncaught TypeError: undefined is not a function

我有

var should = require('should');
var assert = require('assert');
var request = require('supertest');

在文件的顶部,为什么它会被定义?

1 个答案:

答案 0 :(得分:2)

你打电话应该不正确,试试这个:

res.should.have.property('status', 201)

res.status.should.be.equal(201)

should.equal(res.status, 201)

或安装should-http