如何在 React Native 中测试模态和门户内的 RN 组件渲染

问题描述

我使用 react-native-paper 库作为我的 UI 组件库。我使用的是在 Portal 内部呈现的 Modal 组件,如下所示

<Portal>
   <Modal visible={visible}>
    ....
   </Modal>
</Portal>

为了编写单元测试用例,我使用了 @testing-library/react-native

我的问题是如何测试模型内部渲染的组件。当我使用 debug() 时没有在其中获取 Modal 节点。

解决方法

我不确定您为什么“没有在其中添加 Modal 节点”,但是如果您不测试 Portal 组件,您可以做的一件事就是用 {{1 }} 组件,只需测试 View 中的内容。

Modal

还有其他mock组件的方式,如果有问题请看this doc

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...