嘲弄util函数酶

时间:2018-04-10 13:33:03

标签: javascript reactjs enzyme

我有一个生活在我的工具中的功能,根本不是组件的一部分

该函数调用其他函数,我该如何模拟它来测试条件?

const myfunc = () =>
  funcA().funcB() ? (
    <Route path="somewhere" component={somecomponent} />
  ) : (
    <Redirect to="/somewhere/else" />
  );

我如何模拟funcA和funcB以使它们返回true和false来命中条件的正确部分? 我怎样才能测试路径路径道具?

我目前在我的测试中有这个,但它没有产生正确的结果

const funcA = jest.fn();
const funcB = jest.fn();
funcA.mockReturnValue(funcB);
funcB.mockReturnValue(true);

1 个答案:

答案 0 :(得分:0)

您可以按如下方式模拟功能A和B

const funcB=()=>true;

const funcA=()=>{return {funcB}};

funcA().funcB() //returns True

你可以参考这个来测试一个反应路由器。

How to test react-router with enzyme