NodeJS Chai Mocha 响应未定义
NodeJS Chai Mocha response undefined
我使用 typescript 创建我的测试代码,运行我使用 mocha (mocha --timeout 10000)
以下是我的代码:
import chai from 'chai';
import chai_http from 'chai-http';
chai.use(chai_http);
describe('upload', () => {
beforeEach((done) => {
done();
});
describe('/POST upload', () => {
it('it should not POST a book without pages field', (done) => {
let book = {
title: "Test"
}
chai.request('http://192.55.55.19:3000')
.post('/upload')
.set('Content-Type', 'application/json')
.send(book)
.end((err, res) => {
console.log(`\ntesting3: ${JSON.stringify(res.status)}`);
res.should.have.status(200);
done();
});
});
});
});
我得到的错误:
显然,res.status 存在。
为什么 res.should.have.status 产生未定义的错误?
实际上,我尝试了其他方法,例如 should.have.property nad 我也未定义。
提前致谢
从 assertion styles#should 开始,Chai 在调用 chai.should()
.
后用 should
属性 扩展每个对象
这意味着 chai 将在调用 chai.should()
.
后将 should
属性 添加到 Object.prototype
The should
interface extends Object.prototype
to provide a single getter as the starting point for your language assertions.
例如
const chai = require('chai');
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
chai.should();
describe('71144510', () => {
it('should pass', () => {
const res = { status: 200 };
res.should.have.status(200);
});
});
我使用 typescript 创建我的测试代码,运行我使用 mocha (mocha --timeout 10000)
以下是我的代码:
import chai from 'chai';
import chai_http from 'chai-http';
chai.use(chai_http);
describe('upload', () => {
beforeEach((done) => {
done();
});
describe('/POST upload', () => {
it('it should not POST a book without pages field', (done) => {
let book = {
title: "Test"
}
chai.request('http://192.55.55.19:3000')
.post('/upload')
.set('Content-Type', 'application/json')
.send(book)
.end((err, res) => {
console.log(`\ntesting3: ${JSON.stringify(res.status)}`);
res.should.have.status(200);
done();
});
});
});
});
我得到的错误:
显然,res.status 存在。
为什么 res.should.have.status 产生未定义的错误?
实际上,我尝试了其他方法,例如 should.have.property nad 我也未定义。
提前致谢
从 assertion styles#should 开始,Chai 在调用 chai.should()
.
should
属性 扩展每个对象
这意味着 chai 将在调用 chai.should()
.
should
属性 添加到 Object.prototype
The
should
interface extendsObject.prototype
to provide a single getter as the starting point for your language assertions.
例如
const chai = require('chai');
const chaiHttp = require('chai-http');
chai.use(chaiHttp);
chai.should();
describe('71144510', () => {
it('should pass', () => {
const res = { status: 200 };
res.should.have.status(200);
});
});