使用Jest测试Saga生成器功能

时间:2019-11-05 08:18:31

标签: javascript unit-testing jestjs redux-saga

我试图使用Jest编写此生成器功能logOffSaga的单元测试。我尝试了几种方法,但是找不到正确的方法来兑现这一承诺。谁能帮我解决这个问题?

export function abcFunction() {
  return api(EndPoints.CONTROLS)
    .post('logoff')
    .then(response => ({ response }))
    .catch(error => ({ error }));
}

export function* logOffSaga() {
  yield take(LOGOFF);
  const { response, error } = yield abcFunction();

  if (response && response.status === ResponseCodes.OK) {
    yield something();
  } else if (error) {
    yield somethingElse();
  }
}

单元测试:

  const genlogOffSaga = logOffSaga();

  it('should wait for LOGOFF', () => {
    expect(genlogOffSaga.next().value).toEqual(take(LOGOFF));
  });

如何基于abcFunction的返回值测试其余代码?

1 个答案:

答案 0 :(得分:0)

请您显示LOGOFF操作。 测试一下会更加清楚。 LOGOFF是您要产生的动作吗?