Android 单元测试如何规范

2021-09-22 11:51:17 +08:00
 FATEQiang

Android 的单元测试真的难搞啊! 1 、写过很多关于 Android 的单元测试的用例,特别是对老项目新增单元测试用例,发现大多时候,mock 、power pock 也难对代码做单元测试,很多单元测试的用例发现都是“废话”! 2 、Robolectric 虽然能解决 4 大组件的问题,但是真实测试发现写的用例也很鸡肋! 3 、使用 AndroidTest 又依赖环境,更多面向的应该是测试人员。 所以 Android 到底怎样写出有实际意义的测试用例,而不是类似完成 1000 行 6 个用例的 kpi ? 希望有经验的人,给出你们的看法,不再是面向领导编程!!!

4641 次点击
所在节点    Android
6 条回复
ahao99
2021-09-22 14:46:43 +08:00
把业务相关的代码抽取出单独的 Java 代码,针对 JAVA 代码写 UT
Test 是否有意义,取决于你对业务的理解
FATEQiang
2021-09-22 14:52:19 +08:00
@ahao99 你说得很对,我们很多时候也是 “抽取”,不过感觉真的是开发的负担
xylophone21
2021-09-22 15:07:40 +08:00
@ahao99 然而在 Android 端,一般来说业务并不是很多?
Geele
2021-09-22 18:09:07 +08:00
这个需要可测性高的代码,简单来说就是分层。比如 MVVM 中的 ViewModel 主要处理业务逻辑,且不依赖 Android 环境,就可以针对 ViewModel 的业务逻辑做 Java Unit Test (验证函数的输入输出)。反之没有良好的分层,业务逻辑与视图混在一块,我个人理解没办法做单元测试,只能做集成测试或者 UI 测试。
Helsing
2021-09-22 22:43:45 +08:00
Clean 架构
vemier
2021-09-22 22:56:34 +08:00
集成测试优先

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX