Skip to content

Test Results UI ​

Jugg 支持把 Android Test 结果展示到 IntelliJ / Android Studio 的 Test Results UI。测试运行仍由 Jugg 完成编译、部署和 instrumentation;SM Test Runner 负责展示测试树、失败详情、源码跳转和 rerun failed。

结果展示范围 ​

用户场景当前支持情况结果呈现
查看测试 class / method 树支持Run 窗口 Test Results tab
单设备运行支持隐藏设备层,直接展示 class / method
多设备运行支持按设备分组展示 class / method
跳转到测试源码支持class / method 节点使用 Java test location
重跑失败用例支持failed leaf tests 转成 test filters
查看多设备结果矩阵支持文本矩阵展示每个测试在各设备上的状态

Test Results 如何接入 ​

text
Android Test run 创建 SM Runner console
  -> InstrumentationOutputParser 解析 am instrument 输出
  -> InstrumentationSmRunnerBridge 生成 test started / finished / failed 事件
  -> SM Test Runner 展示测试树
  -> rerun failed 把失败节点转回 AndroidTestRunSpec

普通 app run 仍使用普通 text console;只有 Android Test run 会创建 Test Results UI。编译和部署阶段的 Jugg 日志仍会显示在 Run 输出中,测试节点详情只承载 instrumentation 事件和方法级 logcat。

设备展示规则 ​

运行设备展示方式
单设备隐藏 device suite,减少一层树结构
多设备展示 device suite,避免不同设备结果混在一起
设备详情展示 serial、name、API 和设备级 instrumentation 原始日志

多设备运行时,Jugg 会按设备顺序执行 instrumentation,并把每台设备的结果写入同一个 Test Results session。任一设备出现 instrumentation 非 0 退出、aborted、failure、error 或 assumption failure,本轮 Android Test run 都会失败。

Rerun failed ​

Rerun failed 只收集失败的 leaf test 节点,并生成新的 test filters。它会保留原 runner override 与 instrumentation arguments,但不会修改 Run Configuration General 页中的 class / method scope。

关联能力 ​