android单元测试中的多线程以及handler消息传递
2012-12-16 13:42
323 查看
在android的单元测试中,因为涉及到了其他函数的层层调用,涉及到多线程,结果出现以下问题。
1)在主线程之外的其他线程中设置断点,但是毫无效果,因为转化为利用日志log.v()的方式进行调试。
2)结果发现,在多个地方log.v的时候,会出现每次打印的日志信息条数不同的情况,而且不能将所有的日志信息打印完全。
3)考虑可能是一旦主线程运行结束,单元测试便完结所导致,因此主线程之外的线程中的有些log.v来不及打印,在单元测试的主线程中令线程休眠一段时间Thread.sleep(1000),发现上面一个问题得到解决。
4)另一方面,测试的模块中具有利用handler进行消息传递的机制,发现即使令主线程休眠,handler对象的回调函数handlemessage依旧得不到执行。
总结,由此可见,android单元测试最好还是用来处理功能单一的函数,当涉及测试某个模块的整体功能时候,因为复杂的函数调用,尤其是包含消息传递机制或者多线程的时候,最好还是编写一个样例来测试整个流程。
1)在主线程之外的其他线程中设置断点,但是毫无效果,因为转化为利用日志log.v()的方式进行调试。
2)结果发现,在多个地方log.v的时候,会出现每次打印的日志信息条数不同的情况,而且不能将所有的日志信息打印完全。
3)考虑可能是一旦主线程运行结束,单元测试便完结所导致,因此主线程之外的线程中的有些log.v来不及打印,在单元测试的主线程中令线程休眠一段时间Thread.sleep(1000),发现上面一个问题得到解决。
4)另一方面,测试的模块中具有利用handler进行消息传递的机制,发现即使令主线程休眠,handler对象的回调函数handlemessage依旧得不到执行。
总结,由此可见,android单元测试最好还是用来处理功能单一的函数,当涉及测试某个模块的整体功能时候,因为复杂的函数调用,尤其是包含消息传递机制或者多线程的时候,最好还是编写一个样例来测试整个流程。
相关文章推荐
- android Handler与Message(多线程间传递消息)
- Android 多线程编程:Handler消息传递机制—刷新UI主界面
- Android 中 Handler 消息传递机制
- android handler传递消息过程
- Android笔记(三十) Android中线程之间的通信(二)Handler消息传递机制
- Android中的消息机制:Handler消息传递机制 分类: H1_ANDROID 2013-10-27 22:54 1755人阅读 评论(0) 收藏
- Handler,Looper,MessageQueue,android中的消息机制以及源码分析(二)
- Android中Handler消息传递机制
- Handler Looper源码解析(Android消息传递机制)
- Android Handler消息传递机制
- Android Handler消息传递机制,androidhandler
- 【Android基础笔记19】Handler、Looper消息传递机制
- 消息传递机制以及Thread和handler的一些区别
- Android的Handler消息传递机制
- Android 中 Handler 消息传递机制
- Android消息传递之Handler消息机制
- Android中的消息机制:Handler消息传递机制
- Android之handler消息传递机制
- android中handler和bundle有什么区别和联系 都是用来传递消息吗都是信息的载体吗
- android学习13#--Handler消息传递机制