通过单元测试来测试并发代码

41 views
Skip to first unread message

Joseph Yao

unread,
Feb 26, 2015, 4:45:41 AM2/26/15
to agiles...@googlegroups.com, scrumga...@googlegroups.com, agile...@googlegroups.com
大家新年好!

过年这段时间,我和一位社区的朋友一起讨论并用代码实践了一下“如何用单元测试来测试并发代码”。具体的代码可以看这里 https://github.com/JosephYao/unit_test_concurrency

在这次尝试之前,我其实一直觉得单元测试基本很难来测试代码中并发的场景。但是通过这次尝试,可以看出单元测试也并非完全不能测。当然,这次尝试并不意味着单元测试是测试并发代码好途径。

在 test 目录下面有一个测试文件叫 MediaRefresherConcurrencyTest,里面有两个测并发的单元测试,分别用手工 mock 和 mockito 框架来实现。如果要验证这两个测试的确起作用了,可以尝试删除 MediaRefresher 这个类中下面这行代码中的红色部分。

for (int i = 0; i < mediaItems.size() && mStatus != STATUS_CANCELED; ++i) {

欢迎大家的反馈。:)

谢谢,
Joseph
Reply all
Reply to author
Forward
0 new messages