Mocha 测试通过但断言或期望失败

Mocha tests are passing but assertion or expect is failing

我正在使用 expectassert 都显示为错误,这正是我想要的,我希望测试失败。但出于某种原因,当我使用其中任何一个时,测试都通过了。我尝试了 expect,然后尝试了 assert。不知道为什么会这样。我从请求中取回的数据是正确的,但只是 assert and/or expect 不起作用。

const assert = require('assert');
const expect = require('chai').expect;
const request = require('supertest');
const server = require('../server');

describe('Unit testing the /api/auth/signup route', function () {
  it('Should return OK status', async () => {
    try {
      let res = await request(server).post('/api/auth/signup').send({
        email: 'tom@email.com',
        password: 'tompassword',
      });

      // assert.equal(res.body.data.user.email, 'josh@email.com');
      expect(res.body.data.user.email).to.equal('josh@email.com');
    } catch (err) {
      console.log(err);
    }
  });
});

assertexpect 都抛出错误(Node 中的 AssertionError)来报告未满足的期望。 Mocha 将捕获测试函数抛出的所有错误并将测试报告为失败。

您不应将这些语句包装在 try/catch 块中。这样做会抑制异常,Mocha 会认为测试通过。