如何在React Native组件单元测试中测试ActivityIndicator是否显示?

3

我正在学习使用Jest和React测试库来测试React Native应用程序。我无法找到如何检查ActivityIndicator是否正在显示的方法。我该如何查询?是否有辅助功能角色?我成功地通过设置accessibilityHint来进行查询:

const { queryByAccessibilityHint } = render(
    <View>
        <ActivityIndicator accessibilityHint='loading' />
    </View>
)

await waitFor( () => {
    expect(queryByAccessibilityHint('loading')).not.toBeNull()
})

但这样可以吗?在使用RefreshControl时,在FlatList中显示ActivityIndicator怎么样?我无法设置辅助功能角色。

1个回答

3

@testing-library/react-native适合您正在寻找的辅助功能查询

如果您使用我提供的库,可以像这样操作:

const { getByAccessibilityHint } = render(
    <View>
        <ActivityIndicator accessibilityHint='loading' />
    </View>
)
getByAccessibilityHint('loading') // If it finds it, it passes. If not, throws err

2
ActivityIndicator默认情况下不会设置任何与可访问性相关的内容吗? - D0m3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接