我正在尝试测试嵌套在withRouter
中的App组件export default withRouter(App);
在我的index.js
中ReactDOM.render(
<BrowserRouter>
<App client={client}/>
</BrowserRouter>,
document.getElementById('root')
);
我的测试
describe("Test: Home page", ()=>{
const client = {}
let w = shallow(<App client={client}/>)
it("Always render the header", ()=>{
expect(w.find('header').length).toBe(1)
});
});
除了找不到标题,它返回0而不是1 我已经在线查看,但唯一的另一个例子是抓取快照而我正在尝试检查渲染的组件
答案 0 :(得分:0)
我不太确定,但由于您使用路由器导出App,浅层渲染只会渲染路由器组件而不是App组件本身。您可以尝试使用路由器的wrappedcomponent
属性来浅层渲染组件本身而不是路由器。
答案 1 :(得分:0)
如果您使用酶mount
而不是shallow
。
浅的名称建议渲染浅,这意味着不渲染子,其中山将完全呈现与孩子,你的标题将存在。