【问题标题】:RN code-push: testing component that hooks into codePushStatusDidChangeRN code-push:挂钩到 codePushStatusDidChange 的测试组件
【发布时间】:2019-05-10 16:33:36
【问题描述】:

我正在使用react-native-code-pushcodePush HOC,并运行一些逻辑来响应codePushStatusDidChange 事件挂钩,特别是当状态为SyncStatus.UPDATE_INSTALLED 时。

我没有找到在开发模式下运行时是否可以模拟代码推送事件的方法,以验证我们的代码是否正确响应事件挂钩。这可能吗,还是需要向代码推送服务器发布新版本?

附带问题:如果installMode 设置为codePush.InstallMode.ON_NEXT_SUSPEND,事件挂钩是否应该在下次重启时接收SyncStatus.UPDATE_INSTALLED? (我想一旦我弄清楚了第一个问题,我就可以自己回答第二个问题了!)。

【问题讨论】:

    标签: react-native code-push react-native-code-push


    【解决方案1】:

    @twelve17你好。 我可以分享我在测试和 CodePush 使用方面的经验。 我们有 e2e 测试 (detox + jet) 和单元测试 (react-native-test-utils + jest)。 当我们运行 e2e 测试时,我们指定环境并在根 HOC 中切换 codePush 设置:

    checkFrequency: isTest()
        ? codePush.CheckFrequency.MANUAL
        : codePush.CheckFrequency.ON_APP_START,
    

    在这种情况下(手动检查和更新),codePush 在应用程序运行时不会做任何事情。它适用于 e2e 测试,因为在运行它们时确实不需要任何 codePush 任务。

    关于 单元 测试:我们不测试 HOC 本身(目前),我们只介绍了一些无状态组件,所以在这里我只能建议您跳过此类测试(因为codePush 是第 3 方库)或为它的任何命令编写自己的包装器,并在测试运行时模拟/存根它们。

    【讨论】:

      猜你喜欢
      • 2023-01-19
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2013-01-25
      • 1970-01-01
      • 2017-08-20
      相关资源
      最近更新 更多