千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:杭州千锋IT培训  >  技术干货  >  Kotlin对APP测试意味着什么?

Kotlin对APP测试意味着什么?

来源:千锋教育
发布人:xqq
时间: 2023-10-20 14:36:10

一、Kotlin对APP测试意味着什么

Kotlin最终会被编译成Java bytecode,然后变成APK。如果APP部分或者全部使用Kotlin开发,会对现在的测试体系有影响。静态代码分析工具,比如findbugs, Android Lint, Sonar这类,这些工具的影响是最大的。

因为有些是直接和源代码打交道的,但是不用担心,Kotlin的开发工具已经慢慢开始,包括语法检查,各种静态分析也会慢慢抓上来 UI自动化工具,例如Appium, Calabash, Robotium:只要Java一天不死,这些工具总是能用,无论Kotlin怎样,最终还是可以直接和原生Java代码衔接的,以前的Robotium Java用例照样能跑,Appium之类的直接从Uiautomator这种点击View的,更是没有关系。这里要说到一个有趣的东西 Anko,是专门用来辅助Android Kotlin开发的,里面有一个Anko Layout,直接在代码里面用Kotlin定义layout,抛弃XML:

override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)

    verticalLayout {

        padding = dip(30)

        editText {

            hint = “Name”

            textSize = 24f

        }

        editText {

            hint = “Password”

            textSize = 24f

        }

        button(“Login”) {

            textSize = 26f

        }

    }

}

所以以后找id什么的事情,可能会有变化,这也取决于开发团队使用Kotlin的程度。

SDK工具:bugly, LeakCanary等:完全不受到影响,只要是Java的库Kotlin可以无缝连接,这点要表扬下Kotlin的兼容性。 插桩工具:Appetizer, JaCoCo, Emma,插桩工具向APP中添加测量代码来完成任务,JaCoCo/Emma的代码覆盖率和Appetizer的崩溃、性能、Http、卡顿监控等都是这样。Appetizer是直接在Dalvik代码上插桩的,所以和源代码是用什么语言开发的没有关系;JaCoCo是在Gradle中间,对Javac产生的bytecode插桩,也是一样,和源代码没关系,所以继续能用。APK启动后的工具,包括Proxy工具,Mock工具,弱网模拟:都没事

延伸阅读:

二、Kotlin历史

Kotlin并不年轻,JetBrains 公司早在2011年七月就宣布了 Kotlin 项目。JetBtrains是捷克一家出产IDE的公司,比较知名的产品有 IntelliJ, WebStorm, PyCharm, CLion等,Google在抛弃了Eclipse搞出的Android Studio,就是基于IntelliJ开发的。JetBrains的产品基本涵盖了市面上主要的编程语言,一般是免费版和收费增强版,对高校学生也是非常好的。有兴趣的可以去看一下他们的产品,Appetizer团队还是很喜欢他们的IDE的。

2012年2月,Kotlin开源。知道2016年2月,Kotlin 名列前茅个稳定版本 1.0发布。

当然2017年 Google IO上宣布Kotlin 作为 Android 的一级开发语言

值得注意的还有,2013年的Google IO宣布了Android Studio,也就是说 Google和JetBrains有一定年头了。但是Kotlin还是比较年轻,下面是Github上用Kotlin写的项目的数量,和右边其他主流语言比比还是有非常漫长的路要走。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

pythonSymPy求极值

2023-11-14

python归并排序和快速排序比较

2023-11-14

pythonif-elif-else语句的使用注意

2023-11-14

最新文章NEW

python怎么传参数

2023-11-14

python如何查看对象属性

2023-11-14

python如何确定是否为可迭代对象

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>