chai 期望在返回值未定义时传递
chai expect passing when returned value is undefined
在我看来,这个测试应该不会通过
柴测试
const chai = require('chai')
const expect = chai.expect;
const chaiHttp = require('chai-http');
const request = chaiHttp.expect;
const config = require('../../app/config');
const worker = require('../../app/worker');
chai.use(chaiHttp);
describe('server response', function () {
.....
it('should return 200', function () {
chai.request(`http://localhost:${config.port}`)
.get('/')
.end(function (err, res) {
expect('as').to.have.status(200);
});
});
});
航站楼
> NODE_ENV=test mocha --timeout 20000 --recursive test/ --compilers js:babel-core/register
server response
✓ should return 200
1 passing (150ms)
我认为您缺少 done
回调。像这样尝试
it('should return 200', function (done) {
chai.request(`http://localhost:${config.port}`)
.get('/')
.end(function (err, res) {
expect('as').to.have.status(200);
done();
});
});
使用此代码,只有在
时测试才会通过
expect('as').to.have.status(200);
为真(在您当前的示例中始终为假)
在我看来,这个测试应该不会通过
柴测试
const chai = require('chai')
const expect = chai.expect;
const chaiHttp = require('chai-http');
const request = chaiHttp.expect;
const config = require('../../app/config');
const worker = require('../../app/worker');
chai.use(chaiHttp);
describe('server response', function () {
.....
it('should return 200', function () {
chai.request(`http://localhost:${config.port}`)
.get('/')
.end(function (err, res) {
expect('as').to.have.status(200);
});
});
});
航站楼
> NODE_ENV=test mocha --timeout 20000 --recursive test/ --compilers js:babel-core/register
server response
✓ should return 200
1 passing (150ms)
我认为您缺少 done
回调。像这样尝试
it('should return 200', function (done) {
chai.request(`http://localhost:${config.port}`)
.get('/')
.end(function (err, res) {
expect('as').to.have.status(200);
done();
});
});
使用此代码,只有在
时测试才会通过expect('as').to.have.status(200);
为真(在您当前的示例中始终为假)