Unit testing React |单元测试如何在成功的AJAX调用中测试方法?

Unit testing React |单元测试如何在成功的AJAX调用中测试方法?,unit-testing,reactjs,Unit Testing,Reactjs,目前,在我的react应用程序中,我有一个ajax调用方法,它具有setState如果ajax调用成功,我已经模拟了api响应,该方法除了返回响应之外似乎不会执行任何其他操作 比如说, //这是ajax方法 getProductData(productId){ //我已经成功地嘲弄了这种反应 getProductById(productId)。然后(productResponse=>{ //我正在尝试确保使用响应数据更新状态 这是我的国家({ 产品:productResponse.data }

目前,在我的react应用程序中,我有一个ajax调用方法,它具有
setState
如果ajax调用成功,我已经模拟了api响应,该方法除了返回响应之外似乎不会执行任何其他操作

比如说,

//这是ajax方法
getProductData(productId){
//我已经成功地嘲弄了这种反应
getProductById(productId)。然后(productResponse=>{
//我正在尝试确保使用响应数据更新状态
这是我的国家({
产品:productResponse.data
})
});

}
通常,如果我测试涉及AJAX调用的react组件,我会将我的方法放在setTimeout中

setTimeout(() => 
{
    expect(component.state().product).to.equal('SOMETHING');
}, 0);

真的有效吗?我尝试使用
setTimeout
,但我的测试似乎完全忽略了它。