Mocha 测试通过但断言或期望失败
Mocha tests are passing but assertion or expect is failing
我正在使用 expect
和 assert
都显示为错误,这正是我想要的,我希望测试失败。但出于某种原因,当我使用其中任何一个时,测试都通过了。我尝试了 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);
}
});
});
assert
和 expect
都抛出错误(Node 中的 AssertionError)来报告未满足的期望。 Mocha 将捕获测试函数抛出的所有错误并将测试报告为失败。
您不应将这些语句包装在 try/catch 块中。这样做会抑制异常,Mocha 会认为测试通过。
我正在使用 expect
和 assert
都显示为错误,这正是我想要的,我希望测试失败。但出于某种原因,当我使用其中任何一个时,测试都通过了。我尝试了 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);
}
});
});
assert
和 expect
都抛出错误(Node 中的 AssertionError)来报告未满足的期望。 Mocha 将捕获测试函数抛出的所有错误并将测试报告为失败。
您不应将这些语句包装在 try/catch 块中。这样做会抑制异常,Mocha 会认为测试通过。