如何检查承诺值和 属性 在承诺中更新但未按承诺返回 chai
How to check promise value and property updated in promise but not returned with chai-as-promised
我有一个承诺,它会检查我是否获得授权(返回 true 或 false)。
在该承诺中,当授权为假时,我还将 403 statusCode 添加到我作为参数传递的响应对象中。
我正在使用 chai-as-promised 测试我的承诺结果,但我没能找到一种方法来在承诺解决后也测试响应的状态代码。
var result = authorizePromise(request, response);
return expect(result).to.eventually.equal(false).and(response.statusCode.should.be(403));
应在父范围内使用响应。
并且应在承诺准备就绪后调用断言
所以它应该是一个调用 after.
的函数
您的代码示例 .and(response.statusCode.should.be(403));
立即运行断言,并将其作为参数传递给 .and()
它不等待承诺。
*您也可以使用 .and
而不是 .then
。
var response = {};
var resultPromise = authorizePromise(request, response);
return expect(resultPromise).to.eventually.equal(false)
.then(function(){return response.statusCode.should.be(403)})
我有一个承诺,它会检查我是否获得授权(返回 true 或 false)。 在该承诺中,当授权为假时,我还将 403 statusCode 添加到我作为参数传递的响应对象中。 我正在使用 chai-as-promised 测试我的承诺结果,但我没能找到一种方法来在承诺解决后也测试响应的状态代码。
var result = authorizePromise(request, response);
return expect(result).to.eventually.equal(false).and(response.statusCode.should.be(403));
应在父范围内使用响应。
并且应在承诺准备就绪后调用断言
所以它应该是一个调用 after.
的函数
您的代码示例 .and(response.statusCode.should.be(403));
立即运行断言,并将其作为参数传递给 .and()
它不等待承诺。
*您也可以使用 .and
而不是 .then
。
var response = {};
var resultPromise = authorizePromise(request, response);
return expect(resultPromise).to.eventually.equal(false)
.then(function(){return response.statusCode.should.be(403)})