我正在尝试使用react-router 4对一个简单的路由器系统进行单元测试,当我尝试检查它应该呈现的组件是否存在时,它返回0
,但未通过测试。
这是我设置测试的方式:
import React from "react";
import { mount } from "enzyme";
import { MemoryRouter } from "react-router-dom";
import Routes from "./Routes";
import Home from "./view/Home";
describe("Test react router", () => {
it("Should test for initial route", () => {
const component = mount(
<MemoryRouter initialEntries={[ '/' ]} initialIndex={0}>
<Routes />
</MemoryRouter>
)
expect( component.find(Home).length ).toBe(1);
})
});
但最终结果是0
而不是1
,即使在页面上导航时路由工作正常也是如此。我在这做错了什么?我是做得对还是有更好的方法来测试路由器是否正在呈现它应该呈现的内容?
另外,我应该在路线上测试什么?我知道加载的组件应该单独测试,所以我应该测试url和组件是否与预期的匹配?