react-native - 如何在 .map 循环笑话测试库中覆盖 onPress 的 touchableOpacity
问题描述
我正在尝试使用 Jest 和测试库在 React Native 中编写测试用例。我有一个.map
函数,它使用TouchableOpacity
.
{data.map((item, index) => (
<SafeAreaView key={index}>
<ItemView data={item} index={index} />
{index >= data.length - 1 ? (
<View style={{ marginTop: 16 }} />
) : (
<View style={styles.itmSeperator} />
)}
</SafeAreaView>
))}
ItemView 看起来像
const ItemView = ({ data, index }) => (
<TouchableOpacity
testID="TouchablePress"
onPress={() => onPress(data)}
style={{
alignItems: "center",
paddingVertical: 16,
}}
>
<Text style={styles.text}>{data.name}</Text>
</TouchableOpacity>
);
对于上述情况,如果我
fireEvent(getByTestId("TouchablePress"), "press");
在测试文件中调用,则测试正在获取文件,说明找到了具有相同 ID“TouchablePress”的多个组件。
关于如何在不失败的情况下覆盖此测试的任何建议?
解决方案
推荐阅读
- c# - 如何解决 MVC Core 上的 StackOverflowException 问题
- c# - 如何取消 Thread.Abort() 上的任务
- python - 如何安排 Airflow DAG 每双月运行一次
- python-3.x - 从 spacy 中的名词块中删除名称
- ftdi - 将 ELM327 设置为像 FTDI 一样 - 只是在没有 OBD 初始化的情况下转发命令
- android - HERE Maps 在 libMAPSJNI.so 崩溃
- android - 我收到错误 android.database.sqlite.SQLiteException: no such table in android studio
- openstreetmap - geojson 缺少数据
- list - 取消配对元组列表
- qt - 如果页面大小接近标准页面大小(A3、A4 ...),QPrinter 会舍入页面大小