【问题标题】:Is it possible to do multiple app builds concurrently in React Native?是否可以在 React Native 中同时构建多个应用程序?
【发布时间】:2020-05-22 15:56:49
【问题描述】:

我想知道是否有可能在 React Native 中使用单个 repo 构建不同的应用程序。我尝试这样做的原因可能是一个巨大的边缘案例,但它基本上是为了对我正在开发的 RN 模块进行单元测试。

我知道我可以使用 Enzyme 对单个组件进行单元测试,但是我有一些模块是整个框架的一部分,我需要对它们进行端到端的单元测试。所以我的想法是我应该构建应用程序并使用 Appium 在其上运行单元测试。但是如果有多个单元测试呢?我想我们需要构建多个单独的应用程序?但是只有一个 index.js 文件。

我读到我可以在 Android 中设置一些应用目标和方案 (iOS) 以及等效的东西。但是我将如何在 RN 方面处理这个问题?我在哪里可以指定哪个 .js 文件是每个目标的入口点? RN 如何处理构建不同的目标?

https://www.dev6.com/frameworks/building-multiple-apps-from-one-react-native-project/ 阅读这篇文章,了解如何设置多个方案并使用这些方案设置可能影响应用程序控制流的环境变量。但是,这意味着我必须连续运行单元测试,用不同的环境一遍又一遍地加载同一个应用程序(我猜这不是世界末日)。

我在想,如果我有多个index.js 文件,每个单元测试一个,我也许可以设置一些单独的应用程序目标/方案并使用它们,但我想我必须弄清楚如何构建和同时运行它们以进行并发单元测试。我认为react-native run-iosrun-android 命令只是构建了一个应用程序,所以我不确定如何将其融入我的单元测试工作流程。

非常欢迎对此策略或其他可能策略的任何想法!谢谢:)

【问题讨论】:

    标签: android ios reactjs react-native unit-testing


    【解决方案1】:

    不是一个具体的答案,但说到方法,您将需要多个原生 iOS/android 应用程序目标、多个应用程序/捆绑 ID 才能同时运行多个应用程序实例,下面的参考资料可能会有所帮助 -

    1. 创建不同的应用目标 - https://gist.github.com/jacks205/45b2721bf2a2b912b1c130aef2572820
    2. 为每个目标提供唯一的应用程序/捆绑标识符 - Get Bundle ID from a different target
    3. 为反应原生项目使用多个目标 - https://medium.com/@jacks205/adding-multiple-target-pipelines-for-react-native-apps-and-fastlane-circleci-deployment-pt-1-ae9590ae52f2

    【讨论】:

      猜你喜欢
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      相关资源
      最近更新 更多