工程开发
create-unit-test avatar

create-unit-test

为 AnySoftKeyboard 创建并运行遵循项目架构规范(Robolectric、命名、位置)的单元测试。

简介

此技能作为 AnySoftKeyboard 软件工程师的自动化指南,旨在促进稳健单元测试的创建与维护。它旨在确保代码变更保持稳定且正常运行,同时避免产生回归错误。该技能严格执行项目特定的测试架构,要求开发者遵守标准化的文件放置、命名惯例,并使用 Robolectric 框架在 JVM 环境中测试 Android 组件。

  • 提供明确的测试文件命名与位置指南,特别锁定 /src/test/java/ 路径。

  • 引导开发者使用 Arrange-Act-Assert (AAA) 模式编写测试,提升测试的可读性与可维护性。

  • 要求使用 Robolectric 进行 Android 组件测试,确保资源(如字符串与主题)在执行期间能正确解析。

  • 鼓励使用 Fakes 取代 Mocks 或复杂的修补程序,以维持测试的可靠性与确定性。

  • 简化通过 Gradle 执行测试的流程,为不同项目模块提供特定的命令行模板。

  • 通过指引开发者前往 Gradle 生成的 XML 测试失败报告位置,加快调试速度。

  • 专为在 AnySoftKeyboard 代码库中进行错误修复、功能开发或重构的开发者设计。

  • 在建议实现细节前,先专注于识别核心功能、边界情况与错误场景。

  • 强调所有测试应放置于 test 源代码集中,不建议将 androidTest 用于一般单元测试,以维持 CI 构建效率。

  • 通过引导使用者访问 build/test-results/ 目录下的失败日志,协助解决测试失败问题。

  • 通过执行一致的测试实践并避免影响仓库稳定性的脆弱测试 (flaky tests),来维持项目品质。

仓库统计

Star 数
3,288
Fork 数
917
Open Issue 数
1,073
主要语言
Java
默认分支
main
同步状态
空闲
最近同步时间
2026年5月3日 04:45
在 GitHub 查看