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

觉得 monkeytest 真的反人类

  •  
  •   vanillaxxx · 2019-07-01 20:39:40 +08:00 via iPhone · 4929 次点击
    这是一个创建于 1758 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们现在的客户端是纯 kotlin 写的,在目标 activity 中的伴生对象里面会声明启动参数。因为有一些参数是必须的,所以会将其声明为 lateinit,然而 monkeytest 是不带任何参数直接启动 activity 的,这样就导致里面的必要参数从始至终没有初始化,进而产生崩溃问题。但是这种情况在实际使用中几乎是没有发生的可能的,因为 kotlin 的空安全特性,编译时就已经把这部分问题挡在外面了……如果把那些 lateinit 的变量改成单纯的 var 并给一个初始值可以解决问题,但是我又觉得这不符合规范……所以各位大佬们怎么去解决这种问题呢?
    3 条回复    2019-07-02 22:47:14 +08:00
    BigDogWang
        1
    BigDogWang  
       2019-07-02 10:52:10 +08:00
    不能崩溃呀,你获取参数的时候给个默认值啊
    gz911122
        2
    gz911122  
       2019-07-02 13:15:19 +08:00
    monkeytest 是不带任何参数直接启动 activity 的

    禁止这个
    vanillaxxx
        3
    vanillaxxx  
    OP
       2019-07-02 22:47:14 +08:00 via iPhone
    这个不是我控制啊……应用市场上架前跑所谓的自动化测试……我控制不了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1241 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:06 · PVG 02:06 · LAX 11:06 · JFK 14:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.