首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用redux-saga-test-plan,我有一个将函数作为参数的分派操作。这使得测试总是失败。

redux-saga-test-plan是一个用于测试Redux Saga的工具库。在使用redux-saga-test-plan进行测试时,如果你的分派操作中包含将函数作为参数的情况,可能会导致测试失败。

这个问题的原因是redux-saga-test-plan默认不支持将函数作为参数的情况。为了解决这个问题,你可以使用redux-saga-test-plan提供的provide方法来模拟函数的返回值。

下面是一个示例代码,展示了如何使用redux-saga-test-plan来测试一个将函数作为参数的分派操作:

代码语言:txt
复制
import { expectSaga } from 'redux-saga-test-plan';
import { call } from 'redux-saga/effects';
import { mySaga } from './mySaga';
import { myFunction } from './myFunction';

// 模拟myFunction的返回值
const mockReturnValue = 'mocked value';

// 测试用例
it('should dispatch action with mocked value', () => {
  return expectSaga(mySaga)
    .provide([
      // 模拟调用myFunction时返回mockReturnValue
      [call(myFunction), mockReturnValue],
    ])
    .put({ type: 'MY_ACTION', payload: mockReturnValue })
    .dispatch({ type: 'MY_ACTION_WITH_FUNCTION' })
    .run();
});

在上面的示例中,我们使用provide方法来模拟了调用myFunction时的返回值为mockReturnValue。然后,我们使用put方法来断言是否正确地派发了一个带有模拟返回值的action。

需要注意的是,mySaga是你要测试的Saga函数,myFunction是你要模拟的函数。

这样,你就可以使用redux-saga-test-plan来测试包含将函数作为参数的分派操作了。希望这个答案能够帮助到你!如果你还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券