首页 > 解决方案 > 如何在 React 单元测试中不渲染某些组件

问题描述

给定一个示例 React 应用程序:

const App = () => {
    //...
    return (
        <Grid>
            <CompA/>
            <CompB/>
            <CompC/>
        </Grid>
    );
};

我想进行单元测试<App>,但我不想渲染或执行来自一些不相关组件的任何代码说<CompB><CompC>你怎么能这样做?jest mock 能做到这一点吗?

如果组件在 a 内<Switch><Route>,例如:

const App = () => {
    //...
    return (
        <Switch>
            <Route path="/compA" component={CompA}/>
            <Route path="/compB" component={CompB}/>
            <Route path="/compC" component={CompC}/>
        </Switch>
    );
};

排除它们的方法是相同的,还是有办法在单元测试中排除某些路由?

标签: reactjsunit-testingjestjsreact-testing-library

解决方案


推荐阅读