排毒:向应用程序发送参数的最佳方式

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) 捕获。好的问题解决了。但它迫使我在 androidios 上激活深度链接,我不想在我的应用程序中使用它……在代码中做了一个特殊情况仅用于测试,这很糟糕。

我知道这是一个众所周知的问题,并且重新包装器是为此而设计的: https://github.com/wix/detox/issues/91

但是如何在启动时为特定测试在应用程序中注入一些参数,这可能吗?对于此类问题,您的最佳做法是什么?

【问题讨论】:

【参考方案1】:

在 iOS 上,您可以将启动参数发送到您的进程,您可以在运行时查询该参数。您还可以为您的 JS 创建一个模拟文件,而不是替换您的逻辑,您只需设置一些变量来保存您要传递的值,然后加载您的正常逻辑。

【讨论】:

以上是关于排毒:向应用程序发送参数的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

通过 Internet 向开发人员发送应用程序错误和日志的最佳方式是啥?

成人最佳睡眠时间

向服务器发送密码

C#:在多个进程和/或线程之间共享数据的最佳方式

如果没有可用的临时队列,实现请求/回复模式的最佳方式是啥?

从 Zend Framework 应用程序向数百个收件人发送电子邮件的最佳方法是啥?