我要离开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');
在文件的顶部,为什么它会被定义?
答案 0 :(得分:2)
你打电话应该不正确,试试这个:
res.should.have.property('status', 201)
或
res.status.should.be.equal(201)
或
should.equal(res.status, 201)
或安装should-http。