问题标签 [react-native-testing-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 测试库 React Native
如何使用测试库反应原生检查formik表单中的禁用按钮?这是我的表单js。在这个表单中,我有文本输入会 testId input_email,如果电子邮件无效,按钮提交应该被禁用。
这是我的测试文件。在这个测试文件中,在 fireEvent changeText 和 blur 之后,会检查 email 输入的值并检查 button_submit
但是当我运行这个测试文件时会抛出这样的错误
预期:假接收:未定义
react-native - 测试包含 AppLoading 组件的应用
我是单元测试领域的新手,我刚刚开始为我的 React Native (Expo) 应用程序编写测试。经过研究,我终于开始使用Jest 和 React Native Testing Library。
考虑以下使用AppLoading 组件的情况。
我最终遇到以下错误(尽管测试通过了):
...导致同样的错误。
但是,如果我onFinish
以以下方式将 -callback 包装在我的组件中,则测试通过而不会发出警告。
但是我真的想用特定于测试的函数来污染我的 React 组件吗?我没有看到这方面的例子,所以我只能假设这是不好的做法。
这里有什么建议吗?
更新我在我的评论中得到了@Estus FlaskwaitFor
之后
使用的建议。render
成功了……测试现在通过了。
https://callstack.github.io/react-native-testing-library/docs/api/#waitfor
react-native - 测试错误:测试时 useSharedValue 不是函数
描述
我正在使用 react-native-reanimated 并且在测试时,useSharedValue 会抛出一个错误,即在使用 jest 和 react-native-testing-library 时它不是函数。我通过使用作为包的一部分提供的模拟来模拟 react-native-reanimated。我还注意到 VS Code 突出显示 reanimated 没有导出成员 useSharedValue、useAnimatedStyle 和 withTiming,但是该组件仍然可以正常运行而没有任何错误。
有谁知道需要做什么才能正确模拟它?
代码
用于查看组件是否呈现的测试
放置在名为 react-native-reanimated.js 的模拟中的模拟文件
使用 Reanimated 的组件 - Switch.tsx
包版本
React:16.11.0 React Native:.062.2 React Native Reanimated:2.0.0-alpha.3
截图
javascript - Jest + react-navigation 未定位路线/参数
我正在尝试使用 react-navigation 为应用程序编写测试,但我遇到了正确读取路线和参数的问题。
我收到一个错误
TypeError:无法读取未定义的属性“参数”
上const [leadId] = useState(route.params.leadId);
我的组件看起来像
我已经尝试遵循https://callstack.github.io/react-native-testing-library/docs/react-navigation/但我Warning: React.createElement: type is invalid
在包装组件时收到了。
我的测试看起来像
我的模拟是
我不确定我是否错误地包装了组件,或者我是否遗漏了其他东西。
任何想法或帮助将不胜感激。
谢谢。
react-native - react-native 和 expo 中的 expect(jest.fn()).toHaveBeenCalledWith(...expected)
我正在尝试为控制器编写单元测试,它是用 react-native 和 expo 编写的 以下是单元测试失败的登录方法
登录.tsx
上面代码的单元测试是用 react-native 和 expo 编写的
登录.test.tsx
错误部分
我收到以下错误。需要知道我在这里缺少什么吗?
图书馆
react-native - 如何用玩笑正确地模拟反应导航?
我在以下期间得到以下信息npm test
:
这在模拟导航模块后出现,这是我的__mocks__/react-navigation.tsx
文件:
我做错了什么?你能帮忙吗?
反应导航版本:3.11.0
react-native - 使用 react-navigation v5 测试 react-native-testing-library
我正在寻找使用 react-native-testing-library 测试 react-navigation v5。文档说要执行以下操作。
https://callstack.github.io/react-native-testing-library/docs/react-navigation
https://medium.com/@dariaruckaolszaska/testing-your-react-navigation-5-hooks-b8b8f745e5b6
这篇中等文章建议我创建一个 MockedNavigator 组件。这会是我所有屏幕的 mockedNavigator 组件吗?这是可重复使用的吗?
我正在寻找的答案是。我是在所有单元测试中使用真正的 AppNavigator 组件还是使用 MockedAppNavigator?此外,我如何传递道具?
文档不清楚,我正在寻找清晰度。我们正在使用的许多新组件都使用钩子,并且 react-navigation-v5 无法访问某些道具。
react-native - 如何通过 React Native 测试库中的可访问性角色和标签选择元素
我的屏幕上有多个不同的按钮accessibilityLabel
。
查询getByRole
忽略指定可访问性标签的第二个参数(在非本地测试库中可以正常工作)。
如何同时通过角色和标签查询元素?
react-native - 如何断言 React Native 测试库中的按钮被禁用?
如何断言 React Native 测试库中的按钮被禁用?我会想象这样的事情:
但 RNTL 不提供toBeDisabled
断言。
react-native - 如何使用 Jest 测试 Modal (react-native) 是否可见?
Modal 也没有 testID 道具。
另外,我使用的是来自 'react-native' 而不是 'react-native-modal' 的 Modal