javascript - 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(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/

相关文章:

javascript - 使用 JQuery .val() 清除文本区域后如何删除多余的换行符

javascript - Firefox 文档检查器、Firebug 和 Webkit 开发工具 (Chrome/Safari) 未更新 HTML 以反射(reflect)通过 AJAX 加载的复选框的选中状态

node.js - 为什么 bodyparser.json 正在解析 multipart/formdata?

javascript - 如何从 nodejs 中的项目文件加载 Teachable Machine 姿势模型

mocha.js - 如何测试 redux-thunk 中间件异步功能?

javascript - 从 grunt 任务更新 json 值

javascript - 如何将 Adyen 集成到我的网站上

node.js - Sequelize 拥有并属于许多

javascript - Sinon spy 期望嵌套函数中的函数调用

javascript - 如何将 Mocha 与 Promises/ES6 生成器一起使用?