Java安卓断言测试库
各维度得分依据公开资料与字段推算,加权后即综合评分,仅供参考。
Truth 是一个面向 Java 与 Android 的测试断言库,由 Guava 团队拥有并维护,正文称其用于 Google 自身代码库中的多数测试。它以 assertThat(actual).contains(...) 这类流式 API 替代 JUnit 原生 assertEquals,目标是让断言更易写、易读,并提供更有诊断价值的失败信息。
Truth 的重点不是堆叠大量断言方法,而是为常见类型提供较少但一致的 API。它支持集合、Map、Multimap、字符串、浮点数、Java 8 类型等断言,并有 Fuzzy Truth、Proto Truth、Floating Point 等页面覆盖特殊比较。相较 Hamcrest,它依赖链式方法调用,IDE 能根据对象类型自动补全。相较 AssertJ,Truth 的 API 更小,强调“多数任务只有一种写法”,并默认支持 Android,另支持 GWT。
使用方式清晰:Maven 引入 com.google.truth:truth:1.4.5,Gradle 使用 testImplementation 并从 Maven Central 获取。核心入口包括 Truth.assertThat、assertWithMessage,高级场景可使用 about(...)、Expect、自定义 Subject 和 FailureStrategy。文档质量较高,包含 FAQ、Javadoc、支持类型、扩展指南,以及与 AssertJ、Hamcrest 的细粒度比较,还说明了常见反模式和 Error Prone 静态分析建议。
正文未提及商业定价,作为测试依赖使用;同时页面提供 GitHub 源码和 GitHub issues,说明其开发与问题跟踪开放在 GitHub。许可证信息未在抓取文本中出现。
优点是语法简洁、失败信息上下文丰富,例如集合差异会展示 missing、expected、but was 和 multimap 内容;Android 可直接使用也降低了移动端测试成本。限制在于内置断言面比 AssertJ 小,containsExactly 默认不检查顺序,需追加 .inOrder(),宽松类型也可能让部分测试缺陷不在编译期暴露。它适合 Java、Android、GWT 团队,以及重视测试可读性和失败排障效率的项目。
正文未提供国内网络或支付信息。作为 Maven Central/GitHub 生态工具,在中国环境下可用性取决于访问 Maven Central、GitHub 与项目站点的网络状况;若访问不稳定,可考虑企业 Maven 镜像或使用 AssertJ、Hamcrest、JUnit 原生断言等替代方案。
本测评基于公开资料整理,不构成购买建议,请以 truth.dev 官网实际信息为准。
Google开源测试库,开发者可直接使用。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。