相关疑难解决方法(0)

React Router v4重定向单元测试

如何在反应路由器v4中对组件进行单元测试?我没有成功尝试使用jest和酶对重定向进行单元测试.

我的组件:

 const AppContainer = ({ location }) =>
  (isUserAuthenticated()
    ? <AppWithData />
    : <Redirect
        to={{
          pathname: "/login",
          state: { from: location }
        }}
      />);
Run Code Online (Sandbox Code Playgroud)

我尝试测试它:

    function setup() {
  const enzymeWrapper = mount(
    <MemoryRouter initialEntries={["/"]}>
      <AppContainer />
    </MemoryRouter>
  );

  return {
    enzymeWrapper
  };
}

jest.mock("lib/authAPI", () => ({
  isUserAuthenticated: jest.fn(() => false)
}));

describe("AppContainer component", () => {
  it("renders redirect", () => {
    const { enzymeWrapper } = setup();

    expect(enzymeWrapper.find("<Redirect></Redirect>")).toBe(true);
  });
});
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs react-router

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

react-router ×1

reactjs ×1

unit-testing ×1