在我看来,这个测试应该不会通过
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(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);
是真的(对于你当前的例子来说永远是假的)
关于javascript - chai 期望在返回值未定义时传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44434778/