当前位置: 首页 > news >正文

北京网站制作的产品推广建议

北京网站制作的,产品推广建议,自己用笔记本做网站,网站上展示手机页面是怎么做的[TOC](Android 单元测试初体验(二)-断言) 前言 当初在学校学安卓的时候,老师敢教学进度,翻到单元测试这一章节的时候提了两句,没有把单元测试当重点讲,只是说我们工作中几乎不会用到,果真在之前的几年工作当中我真的没…

@[TOC](Android 单元测试初体验(二)-断言)


在这里插入图片描述

前言

当初在学校学安卓的时候,老师敢教学进度,翻到单元测试这一章节的时候提了两句,没有把单元测试当重点讲,只是说我们工作中几乎不会用到,果真在之前的几年工作当中我真的没有用到,工作中都没有写过单元测试,后来我自己也下意识的忽略了这一块,直到听说现在这家公司后面会要求单元测试用例覆盖率达到百分之七十。我开始慌了,单元测试什么的,国内真的不太重视,这不,抽个周末简单学习下。对于安卓的单元测试的话,现在新建一个项目可以看到都是用的Junit4,ps:涉及Compose的单元测试本文不会过多解释。

这是官网 https://junit.org/junit4/

前一篇Android 单元测试初体验。


一、单元测试是什么?

安卓的单元测试是一种针对应用程序中的最小可测试单元——即单个函数、方法或逻辑模块——进行测试的策略。它专注于验证每个独立单元的特定功能和行为,以确保代码的正确性。

单元测试的目的是提高代码质量,减少bug,提高软件可靠性,同时降低维护成本。它是最为基础的测试形式,能够快速反馈问题,定位错误,并且在开发周期中尽早发现并解决问题,从而避免问题随着时间的推移而变得更加复杂。

虽然单元测试可能看起来很麻烦,但它的价值是无可替代的。通过单元测试,开发人员可以:

  1. 验证每个单元的功能是否符合预期;
  2. 检测代码中的潜在错误和漏洞;
  3. 确保代码在各种条件下都能正常运行;
  4. 提高代码的可读性和可维护性;
  5. 为代码重构提供安全保障。

在安卓开发中,由于其环境复杂性和多样性,单元测试尤为重要。通过单元测试,开发者可以更加自信地修改和优化代码,同时确保用户在使用应用程序时能够获得稳定、可靠的性能。虽然初始的投入可能会让人们觉得麻烦,但随着时间的推移,你会发现它在提高开发效率和保障应用程序质量方面具有巨大的优势。虽然单元测试可能会增加一些开发的初始工作量,但它能够为提高软件质量、减少后期维护成本提供强有力的支持。对于安卓开发来说,学会如何有效地进行单元测试,将是非常重要的一步。

二、断言

1.addition_isCorrect

我们新建一个项目,单元测试代码是这样的
代码如下(示例):

class ExampleUnitTest {@Testfun addition_isCorrect() {assertEquals(4, 2 + 2)}
}

方法名就和我们开发时不一样,这个规范是

驼峰命名操作( a d d i t i o n ) + 下划线 + 驼峰命名结果 ( i s C o r r e c t ) = a d d i t i o n i s C o r r e c t 驼峰命名操作(addition)+下划线 +驼峰命名结果(isCorrect) = addition_isCorrect 驼峰命名操作(addition+下划线+驼峰命名结果(isCorrect)=additionisCorrect
翻译过来就是加法正确。

那么我们就可以显而易见的知道assertEquals这个方法的意思,断言两个长度相等。如果不是,则抛出AssertionError。
参数:
第一个值为预期的值,第二个值为实际的值,那么这个代码就可以这样解释

assertEquals(4, 2 + 2)

2 + 2 = 4 2+2 =4 2+2=4

2.其他常用断言

代码如下(示例):

    @Testfun otherTest_isOK() {assert(true)assertTrue(true)assertFalse(false)assertNotNull(Object())assertNotEquals(4, 1 + 1)assertArrayEquals(emptyArray(), emptyArray())var a = Object()var b = aassertSame(a, b)var c = Object()var d = Object()assertNotSame(c, d)}

为了方便,我们直接写在一起,并命名为otherTest_isOK

  • @Test:这是JUnit测试框架的注解,用于标记函数为一个单元测试函数。
  • fun otherTest_isOK() {...}:这是函数定义,函数名为otherTest_isOK,并且没有返回值(因为它的返回类型被推断为Unit,而Unit是没有值的)。

接下来是这个函数中的各个断言:

  1. assert(true):这是使用JUnit框架的断言方法,用于检查条件是否为真。在这里,断言条件为true,所以断言会通过。
  2. assertTrue(true):这也是一个断言方法,同样用于检查条件是否为真。在这里,断言条件为true,所以断言会通过。
  3. assertFalse(false):这是另一个断言方法,用于检查条件是否为假。在这里,断言条件为false,所以断言会通过。
  4. assertNotNull(Object()):这个断言检查提供的对象是否非空。由于创建了一个新的对象(尽管它是空的),断言将通过。
  5. assertNotEquals(4, 1 + 1):这个断言检查两个值是否不相等。在这个例子中,4和2不相等,所以断言将通过。
  6. assertArrayEquals(emptyArray(), emptyArray()):这个断言检查两个数组是否相等。由于两个数组都是空的,断言将通过。
  7. var a = Object() var b = a:这里创建了两个对象引用,它们引用的是同一个对象。assertSame(a, b)断言这两个引用指向的是同一个对象,因此断言将通过。
  8. var c = Object() var d = Object():这里创建了两个不同的对象。assertNotSame(c, d)断言这两个引用指向的是不同的对象,因此断言将通过。

总的来说,这个测试函数中的所有断言都通过了,所以函数名称为otherTest_isOK是非常合适的。这个函数没有对函数的返回值进行任何断言,因为函数本身也没有返回值。


总结

本文简单介绍了安卓单元测试中的断言,包括常用的assertEquals、assertTrue、assertFalse等方法,以及用法示例。单元测试是提高代码质量、减少bug的重要手段,掌握断言方法非常有助于编写有效的单元测试用例。

http://www.wangmingla.cn/news/105886.html

相关文章:

  • 网上做批发有哪些网站有哪些做好网络推广的技巧
  • 论坛上怎么做网站优化文案发布平台
  • 洛阳市做网站贴吧搜索词排行榜
  • 找人开发一个网站多少钱windows优化大师是官方的吗
  • 津南做网站的公司全网整合营销推广方案
  • 企业系统集成seo编辑是干什么的
  • 做网站如何更新百度快照电商网站如何避免客户信息泄露
  • seo教程seo入门讲解搜索引擎优化策略包括
  • 做搞笑图片的网站淘宝关键词排名查询工具
  • 网站的技术解决方案b2b电商平台有哪些
  • 长春网站建设yunbeiw磁力宝最佳搜索引擎入口
  • 给公司网站做seo的好处谷歌商店paypal官网下载
  • 做h5页面的网站他达拉非片和伟哥区别
  • 国际新闻最新消息中国武汉百度推广seo
  • 天使投资厦门谷歌seo公司
  • 河南省建设注册执业中心网站湖北百度关键词排名软件
  • 做快递单的网站会不会是骗人的江门seo网站推广
  • 已有域名 做网站网络推广的方式有哪些?
  • 企业网站租服务器口碑营销例子
  • 网站建设 甘肃seo优化团队
  • 北京厦门网站优化英文谷歌优化
  • 广州网站建设 骏域网站建设企业建站
  • 做网站优化费用常见的营销策略有哪些
  • 怎么注册公司微信衡阳网站优化公司
  • 建立网站三大基础时空seo助手
  • 独立ip做网站厦门seo优化外包公司
  • b2b网站推广附近的计算机培训班
  • 自己如何做网站推广企业官网首页设计
  • 武汉网站制作谁家好百度竞价推广运营
  • h5可以来做网站吗上海网站搜索排名优化哪家好