Javascript 如果返回值未定义,则希望传递
在我看来,这次考试不应该通过 chai测试Javascript 如果返回值未定义,则希望传递,javascript,node.js,chai,Javascript,Node.js,Chai,在我看来,这次考试不应该通过 chai测试 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(c
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);
是true(在当前示例中总是false)不应该通过,因为?
'as'
显然没有200:)