我正在尝试使用react-native-testing-library在屏幕上测试导航事件。
我使用Navigation.events().registerNavigationButtonPressedListener全局监听事件,在我的函数组件中使用以下钩子:
const useTopBarBtnPress = function (
componentId: string,
onTopBtnPressed: OnTopBtnPressed) {
useEffect(() => {
const topBtnListener = Navigation.events().registerNavigationButtonPressedListener((event) => {
if (event.componentId === componentId)
onTopBtnPressed(event, BtnIds)
})
return () => topBtnListener.remove()
}, [onTopBtnPressed])
}是否可以为测试模拟一个topBar按钮?我猜是使用testID,但在文档中找不到它。
或者我需要嘲笑registerNavigationButtonPressedListener?或者使用排毒?
另外,有没有一种方法来测试布局?(例如,图标颜色)
发布于 2020-08-13 18:45:37
不需要实际模拟TopBar按钮来测试navigationButtonPressed。只需使用模拟按钮按下的正确NavigationButtonPressedEvent参数自己调用navigationButtonPressed即可。
https://stackoverflow.com/questions/63053137
复制相似问题