使用 Detox 在 React Native 中测试 Share.share

问题描述

我正在尝试使用 Detox 编写一个 e2e 测试,用于用户共享指向应用中某个屏幕的深层链接的流程。我希望能够捕获用户单击“共享”按钮(在真实设备上会打开本机共享弹出窗口)时生成的共享链接,然后使用 device.openUrl() 导航到该链接。它应该看起来像这样:

await element(by.id('test-id-of-share-button')).tap();
const sharedUrl = obtainTheUrlPassedToTheSharePopupBySomeMagicalVoodooWay();
await device.openURL({ url: sharedUrl });
await expect(element(by.id('test-id-of-element-on-target-screen'))).toBeVisible();

问题是,我不知道如何很好地做到这一点。我可能可以Mock Share 模块,但是我必须以某种方式将数据从模拟函数传递到测试过程。我可能可以通过在测试中运行一个简单的 http 服务器并从模拟函数调用该服务器来做到这一点,但我认为必须有更好的方法来做到这一点。

希望得到任何见解。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)