V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FATEQiang
V2EX  ›  Android

Android 单元测试如何规范

  •  
  •   FATEQiang · 2021-09-22 11:51:17 +08:00 · 8579 次点击
    这是一个创建于 1149 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    6 条回复    2021-09-22 22:56:34 +08:00
    ahao99
        1
    ahao99  
       2021-09-22 14:46:43 +08:00
    把业务相关的代码抽取出单独的 Java 代码,针对 JAVA 代码写 UT
    Test 是否有意义,取决于你对业务的理解
    FATEQiang
        2
    FATEQiang  
    OP
       2021-09-22 14:52:19 +08:00
    @ahao99 你说得很对,我们很多时候也是 “抽取”,不过感觉真的是开发的负担
    xylophone21
        3
    xylophone21  
       2021-09-22 15:07:40 +08:00
    @ahao99 然而在 Android 端,一般来说业务并不是很多?
    Geele
        4
    Geele  
       2021-09-22 18:09:07 +08:00
    这个需要可测性高的代码,简单来说就是分层。比如 MVVM 中的 ViewModel 主要处理业务逻辑,且不依赖 Android 环境,就可以针对 ViewModel 的业务逻辑做 Java Unit Test (验证函数的输入输出)。反之没有良好的分层,业务逻辑与视图混在一块,我个人理解没办法做单元测试,只能做集成测试或者 UI 测试。
    Helsing
        5
    Helsing  
       2021-09-22 22:43:45 +08:00 via iPhone
    Clean 架构
    vemier
        6
    vemier  
       2021-09-22 22:56:34 +08:00
    集成测试优先
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 133ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.