排毒:向应用程序发送参数的最佳方式
Posted
技术标签:
【中文标题】排毒:向应用程序发送参数的最佳方式【英文标题】:Detox: best way to send parameters to app 【发布时间】:2021-03-20 15:08:16 【问题描述】:我在我的 react-native 应用程序中为 e2e 测试实现了 Detox,我有 2 个测试:
-
启动 -> 未登录 -> 显示登录表单 -> 主屏幕
启动 -> 记录 -> 主屏幕
auth 信息存储在 AsyncStorage 中,我使用 Repackager 实现了一个模型 store.e2e.js。很好,但我需要使用两组不同的数据存储启动应用程序:一组为空,用于 test1,另一组为 test2 的用户名/密码。
所以我添加了一个带有launchApp
+ url 参数或device.sendUrl
的hack,由Store mock at init 使用Linking.addEventListener('url', callback)
捕获。好的问题解决了。但它迫使我在 android 和 ios 上激活深度链接,我不想在我的应用程序中使用它……在代码中做了一个特殊情况仅用于测试,这很糟糕。
我知道这是一个众所周知的问题,并且重新包装器是为此而设计的: https://github.com/wix/detox/issues/91
但是如何在启动时为特定测试在应用程序中注入一些参数,这可能吗?对于此类问题,您的最佳做法是什么?
【问题讨论】:
【参考方案1】:在 iOS 上,您可以将启动参数发送到您的进程,您可以在运行时查询该参数。您还可以为您的 JS 创建一个模拟文件,而不是替换您的逻辑,您只需设置一些变量来保存您要传递的值,然后加载您的正常逻辑。
【讨论】:
以上是关于排毒:向应用程序发送参数的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章