mcpField
A
android-testing-unit

android-testing-unit

github.com/midudev测试与质量7.0k60 次安装1 周前更新
代码仓库

关于 android-testing-unit

面向 Android 开发者的测试技能,用于为 reducer、用例、仓库和生命周期安全的状态持有者编写精简单元测试。它指导测试策略、可操作的失败反馈,以及范围扩展时的 UI 测试交接。

主要功能

  1. 01选择精简的单元测试策略
  2. 02测试 reducer 和用例
  3. 03覆盖仓库与状态持有者
  4. 04提供可操作的失败反馈
  5. 05将 UI 测试请求交接

适用场景

  1. 01测试 reducer 和格式化逻辑
  2. 02模拟同步失败与权限拒绝
  3. 03区分单元测试和 UI 测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/midudev/autoskills --skill android-testing-unit

安装后在 Claude Code 中输入/android-testing-unit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
official-links.md
patterns.md
scenarios.md
scripts/
run_examples.sh

详细介绍

Android 单元测试

适用场景

  • 当请求涉及以下内容时使用此技能:Android 单元测试策略、Android ViewModel reducer 测试、Android repository 单元测试。
  • 主要目标:为 reducer、用例、repository 和生命周期安全的状态持有者编写快速、专注的 Android 单元测试。
  • 范围扩大时交接给以下技能:
  • android-testing-ui
  • android-ui-states-validation

工作流

  1. 确定风险范围:正确性、安全性、性能、测试深度或发布自动化。
  2. 选择范围尽可能小、同时仍能发现可能回归问题的验证策略。
  3. 为工作流添加检测,让失败信息具有可操作性,而不只是显示红色。
  4. 在示例应用和打包产物上运行相关检查。
  5. 明确记录剩余风险、后续工作和负责技能。

防护原则

  • 优先选择 CI 中可复现的检查,而不是一次性的本地突击处理。
  • 失败时提供明确的修复路径,而不是含糊的质量门槛。
  • 不要在示例和测试夹具中放入密钥、签名材料和生产凭据。
  • 将性能和安全工作视为需要证据支撑的工程任务,而不是道听途说。

反模式

  • 只增加测试数量,却没有提高有效信号。
  • 发布无人能够复现的基准测试或安全扫描。
  • 在构建逻辑中硬编码发布凭据。
  • 使用没有用户影响解读的合成指标。

示例

正常流程
  • 场景:在两个夹具应用中,通过有针对性的本地测试覆盖 reducer 和格式化逻辑。
  • 命令:cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest && cd ../orbittasks-xml && ./gradlew :app:testDebugUnitTest
边界情况
  • 场景:在不使用插桩测试的情况下,模拟同步失败和权限被拒绝的分支。
  • 命令:cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest
失败恢复
  • 场景:将单元测试请求与 UI 测试或常规架构清理区分开来。
  • 命令:python3 scripts/eval_triggers.py --skill android-testing-unit

完成清单

  • 实现路径明确、精简,并且对应正确的 Android 范围。
  • 已运行或更新相关示例命令和基准测试提示词。
  • 请求跨越相邻技能的范围时,已记录交接事项。
  • 官方参考资料涵盖所选模式以及主要迁移或故障排查路径。

官方参考资料

评论

支持 Markdown