我创建了firebase函数,我想使用Google Cloud Function Emulator和Mocha在本地进行测试。
因此我在Mocha中创建了一个测试,以使用PUT方法测试REST API更新记录功能。
测试像这样
it("should succesfully update data",()=>{
chai.request(api)
.put(`/clients/${someId}`)
.set('Authorization', sometoken)
.send(somenewdata)
.end((error,response)=>{
expect(response.status, "should be 200").to.equal(200);
})
运行测试时。没关系。
问题是我尚未实现对“ clients /:id” URL的PUT方法请求的处理程序。因此,显然结果应该是超时。我也尝试运行模拟器,并使用POSTMAN发送PUT请求,并且得到了预期的超时结果。
其他详细信息:
“ @ types / mocha”:“ ^ 5.2.5”
有人对此有任何想法吗?
答案 0 :(得分:0)
这是因为chai.request
是异步函数,因此必须在测试完成时告诉Mocha。解决方法是我们可以使用done
。
it("should succesfully update data",(done) => { // specify done
chai.request(api)
.put(`/clients/${someId}`)
.set('Authorization', sometoken)
.send(somenewdata)
.end((error,response)=>{
expect(response.status, "should be 200").to.equal(200);
done(); // add done
})
})