第一次例外后继续测试|柴|摩卡

时间:2017-12-14 16:29:10

标签: javascript node.js mocha chai chai-http

我正在用http请求编写单元测试。 我想测试不同的字段作为响应但是当我检查第一个例外中的字段时CHAI全部关闭,单个测试也是如此。我希望CHAI继续他的测试执行。 我怎么能这样做?

这是一个如何使用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');

1 个答案:

答案 0 :(得分:1)

如果您确定知道某个特定语句会引发exception,您可以使用以下方式对其进行测试。

expect(res.body.data.user_data).to.throw('Oh no')

或者,如果您想检查并处理您收到的异常,可以使用trycatch阻止,如下所示:

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中断言失败后仍有可能继续。