大家新年好!
在这次尝试之前,我其实一直觉得单元测试基本很难来测试代码中并发的场景。但是通过这次尝试,可以看出单元测试也并非完全不能测。当然,这次尝试并不意味着单元测试是测试并发代码好途径。
在 test 目录下面有一个测试文件叫 MediaRefresherConcurrencyTest,里面有两个测并发的单元测试,分别用手工 mock 和 mockito 框架来实现。如果要验证这两个测试的确起作用了,可以尝试删除 MediaRefresher 这个类中下面这行代码中的红色部分。
for (int i = 0; i < mediaItems.size() && mStatus != STATUS_CANCELED; ++i) {
欢迎大家的反馈。:)
谢谢,
Joseph