gpt4 book ai didi

react-native - 测试 Pressable 的按下状态

转载 作者:行者123 更新时间:2023-12-04 12:16:08 25 4
gpt4 key购买 nike

我有一个渲染 React Native 的组件 Pressable并使用 pressed状态改变显示:

<Pressable testID="t">
{({ pressed }) => <Text style={pressed ? pressedStyle : unPressedStyle }>{title}</Text>
<Pressable>
这工作正常,但是当我运行测试覆盖率报告时, pressed状态被跳过。即使我触发 press 也会发生这种情况可按下的事件,例如:
const { getByTestID } = render(<PressableComponent />);
const pressable = getByTestID('t');
fireEvent.press(pressable);
有什么办法可以触发 pressed在测试期间声明以便我可以测试该分支?

最佳答案

您可以使用 testOnly_pressed RN 可压组件的属性。如果设置为 true它模拟测试中的按下状态。

<Pressable testID="t" testOnly_pressed={isStatusPressedForTest}>
{({ pressed }) => <Text style={pressed ? pressedStyle : unPressedStyle }>{title}</Text>
<Pressable>


const { getByTestID } = render(<PressableComponent isStatusPressedForTest />);
不需要再触发新闻事件了。
只是期待您期望在状态中发生的事情 pressed .

关于react-native - 测试 Pressable 的按下状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64452964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com