所以我在我的 Saga 文件中有这个函数
export default function* rootSaga ()
{
yield all ([
testfunction(),
])
}
为此,我为这个函数写了这个案例,
it ("SagaRoot",() => {
const generator = rootSaga ();
const testfunction = jest.fn();
expect (generator.next.value).toEqual(all([testfunction]));
})
我在这里犯了错误
expected - [Function mockConstructor],
received + GeneratorFunctionPrototype {},
在这里能做些什么呢?
谢谢
1条答案
按热度按时间cbwuti441#
您的代码中存在一些问题。
1.特效创建者
all([...effects])
接受特效作为它的参数,而不是普通的JS函数。1.你不需要创建一个mock函数,只需使用原始的
testFunction
即可。逐步测试 Saga 发生器功能不会运行testFunction
。 Saga generator函数只产生效果,而不是testFunction
的返回值。next()
是一个方法,而不是属性。例如
saga.ts
:saga.test.ts
:测试结果: