Detox 测试中的默认 AsyncStorage 值

Posted

技术标签:

【中文标题】Detox 测试中的默认 AsyncStorage 值【英文标题】:Default AsyncStorage values in a Detox test 【发布时间】:2021-11-30 15:07:15 【问题描述】:

我想知道如何在 React Native 中为 Detox 测试设置默认的 AsyncStorage 值。

我有一个欢迎模式,显示用户首次登录的时间。我们通过存储 AsyncStorage 值来控制是否显示模式。由于我们的测试会启动应用程序的不同实例(具有不同的设置),因此我正在寻找一种在测试开始之前默认值的方法。

我不久后使用 jest mock 进行了调查,但不确定这是正确的方法,因为我不想模拟所有 .getItem,我只想模拟它存储的这个特定值。

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 根据模拟:你会考虑用模拟的实现替换你的异步存储,实际上它被重新连接到你的主机上的文件甚至设置服务器上? github.com/wix/Detox/blob/master/docs/Guide.Mocking.md 您好,您能否描述一下在您的应用程序中是如何提前设置该值的,而不管测试如何? 【参考方案1】:

我通过使用这样的动态链接打开应用程序来做到这一点:

myapp://example/?action=setAsyncStorage&key=someKey&value=someValue

该应用有一个动态链接处理程序,它可以识别此动态链接并将值设置到 AsyncStorage。

【讨论】:

以上是关于Detox 测试中的默认 AsyncStorage 值的主要内容,如果未能解决你的问题,请参考以下文章

Detox - 测试模式在 React Native 中的可见性

在 e2e 测试中的某个点开始使用 Detox 在 react native

反应本机打字稿屏幕测试返回测试套件无法运行 AsyncStorage 为空

React Native Detox - 运行特定的测试文件

Detox react-native build 成功,“Detox 似乎无法连接到测试应用程序!” (iOS)

使用 detox 测试 e2e 无法启动 iPhone 模拟器,而是启动 Apple TV