我正在用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');
答案 0 :(得分:1)
如果您确定知道某个特定语句会引发exception
,您可以使用以下方式对其进行测试。
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
中断言失败后仍有可能继续。