res.should.have.status给了我错误

Cha*_*lie 6 javascript mocha.js node.js should.js

我是mocha和should.js的新手.我正在尝试检查响应的状态,但它给了我TypeError: Object #<Assertion> has no method 'status'代码是这样的:

describe('Local signup', function() {
    it('should return error trying to save duplicate username', function(done) {
      var profile = {
        email: 'abcd@abcd.com',
        password: 'Testing1234',
        confirmPassword: 'Testing1234',
        firstName: 'Abc',
        lastName: 'Defg'
      };
      request(url)
          .post('/user/signup')
          .send(profile)
          .end(function(err, res) {
            if (err) {
              throw err;
            }
            res.should.have.status(400);
            done();
          });
    });
Run Code Online (Sandbox Code Playgroud)

我也注意到,虽然我已经声明var should = require('should');,但我的ide告诉我'should'是一个未使用的局部变量.我真的不知道为什么.

Yur*_*nko 13

尝试

res.status.should.be.equal(400);
Run Code Online (Sandbox Code Playgroud)

要么

 res.should.have.property('status', 400);
Run Code Online (Sandbox Code Playgroud)

关于"'should'是一个未使用的局部变量".这是真的.你不要直接使用.只有副作用.试试吧require('should');.