T3 Code 非官方中文翻译不是官方产品,也不是 T3 Tools 官方文档。源提交 d2c25950b4d9英文原文GitHub 源文件
Skip to content

Android 原生回归 ​

从仓库根目录:

sh
apps/mobile/modules/t3-review-diff/tests/run-android.sh

需要 JDK 17 及以上(JAVA_HOME),以及 PATH 上的 Gradle。已用 JDK 17 和 Gradle 9.4.1 测试。若要改用另一套已安装的 Gradle 或 wrapper,请在该命令(command)之前设置 GRADLE=/absolute/path/to/gradle。运行器会自行解析所在位置,因此从其他目录运行也可以。Gradle 的测试选项会被转发,例如 --tests '*ReviewDiffViewportTest' --rerun-tasks。

这个独立的 JVM 构建会把视口回归、几何回归,以及该模块已有的 android/src/test 布局套件,注册到 Gradle 的 test 任务。它编译的是该模块真实的 Android 视图、绘制和布局源码。钉选的 Maven 依赖提供 Kotlin、Robolectric、Android API 35 以及 AndroidX 测试类。首次运行需要能访问 Maven Central 和 Google Maven,包括下载 Robolectric 的运行时 SDK。不需要本地 Android SDK、Expo 预构建、设备、临时检出,也不需要预先解出的 jar。生成的文件留在被忽略的 build/ 和 .gradle/ 目录中;HTML 报告是 build/reports/tests/test/index.html。

stubs/expo/modules/kotlin/ 下的三个文件只替换 Expo 的上下文、视图基类和事件(event)分发器。事件送往按测试划分的上下文,而不是 React Native 桥。它在真实视图中检查重置/解码顺序、过期行移除和视口发布,但并不验证 Expo 注册、JS 事件送达、原生库或设备渲染。这些桩只属于这个独立构建,不得加入生产用的 Android 源集。几何回归为粘性表头的行读取划定边界,检查惰性 ASCII 布局的保留和语法失效,并把 ASCII 宽度与 Android 的绘制度量相比较。原生整形测试覆盖制表符、Unicode 簇,以及带样式的词差异 span。

非官方译文 · 源提交 d2c25950b4d9 · 不代表 T3 Tools