![3a8963d6efa765a2626deb27352b7dbe.png](https://img-blog.csdnimg.cn/img_convert/3a8963d6efa765a2626deb27352b7dbe.png)
目录
一、什么是断言,什么情况下应该使用androidAssert?
二、在release版本中移除断言代码,只在debug中保留
三、集成AndroidAssert库
总结
![d62309b2ae4fdda07b67dac4aac47f3c.png](https://img-blog.csdnimg.cn/img_convert/d62309b2ae4fdda07b67dac4aac47f3c.png)
一、什么是断言,什么情况下应该使用androidAssert?
通常断言(assert)是在单元测试时,用来校验函数返回的结果。在自动化测试用来校验程序运行结果。
但是我们接下来要讨论的并不是单元测试中使用断言,而是在项目业务代码中使用断言。
我们一起来看几个,大家非常熟悉的例子。这些情况下使用断言会让代码更加优雅,更加健壮。
例子1,writeFile
/**
* 我们希望只在子线程中调用writeFile(),主线程中调用可能会导致ui卡顿或者anr。
*
* 如果在主线程调用writeFile(),我们打印日志警告开发者
*/
public void writeFile() {
//主线程,打印日志警告开发者
if(!ThreadTypeUtil.isSubThread()){
Log.e(TG, "you should call writeFile at sub thread");
}
// write file ...
}
当出现有开发人员,尝试在主线程中调用writeFile()方法时,我们通过 日志警告 ,开发者。但是,日志提示很弱,往往会被开发者忽略掉。
于是我们改良了下代码: