Javascript 第一次异常后继续测试|柴|摩卡

Javascript 第一次异常后继续测试|柴|摩卡,javascript,node.js,mocha.js,chai,chai-http,Javascript,Node.js,Mocha.js,Chai,Chai Http,我正在用http请求编写单元测试。 我想测试不同的字段作为响应,但当我检查第一个异常中的字段时,我会关闭所有字段,也会关闭单个测试。我希望柴继续他的测试执行。 我该怎么做 这是一个如何使用expect的示例 expect(res.body.data.user_data,“last_name”).have.property(“last_name”); expect(res.body.data.user_data.last_name,“last_name”).be.a('number'); e

我正在用http请求编写单元测试。 我想测试不同的字段作为响应,但当我检查第一个异常中的字段时,我会关闭所有字段,也会关闭单个测试。我希望柴继续他的测试执行。 我该怎么做

这是一个如何使用expect的示例


expect(res.body.data.user_data,“last_name”).have.property(“last_name”);
expect(res.body.data.user_data.last_name,“last_name”).be.a('number');

expect(res.body.data.user_data,“username”).have.property('username');
expect(res.body.data.user_data.username,“username”).be.a('string');

如果您确实知道某个特定语句将抛出一个
异常
,则可以使用以下方法对其进行测试

expect(res.body.data.user_data).to.throw('Oh no')
或者,如果您想检查并处理您得到的异常,您可以使用
try
catch
块,如下所示:

try {
    expect(res.body.data.user_data, "last_name").have.property('last_name');
    expect(res.body.data.user_data.last_name, "last_name").be.a('number');
    expect(res.body.data.user_data, "username").have.property('username');
    expect(res.body.data.user_data.username, "username").be.a('string');
}
catch (e) {
    //write err and res objects to custom log file
    throw e;
}

我认为即使在
Chai

中的断言失败之后,也不可能继续下去,如果您将其放入
try。。。catch
block?您可以将期望值放在单独的测试中