0

我正在使用 http 请求编写单元测试。我想测试不同的字段作为响应,但是当我检查第一个异常 CHAI 中的字段时,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');

4

1 回答 1

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.

于 2017-12-14T17:05:04.853 回答