用Robolectric来做Android unit testing

作为一只本科非计算机专业的程序猿,手动写单元测试是我从来没接触过的东西,甚至在几个月前,我都不知道单元测试是什么东西。倒不是说没听过这个词,也不是不知道它的大概是什么东西——“用来测试一个方法,或者是一小块代码的测试代码”。然而真正是怎么做的?我并没有一个概念,或者说并没有一个感觉。 记得第一份工作在创新工场的时候,听当时的boss @王明礼 说,公司有个神级的程序员(。。。名字忘了。。。),他会写大量的单元测试,甚至50%以上的代码都是单元测试。当时崇拜之极,却仍然觉得写单元测试是很麻烦的一件事情。 扯远了,话说回来,当你接触多了国外的技术博客,视频之后,你会发现,单元测试甚至TDD,在国外是非常流行的事情。很多人甚至说离开了单元测试,他们便没有办法写代码。这些都让我对单元测试的好感度逐渐的上升。然而,真正让我下定决心,一定要研究一下这个东西的,是前段时间看大名鼎鼎的《重构:改善现有代码的艺术》里面的一段话: I've found that writing good tests greatly speeds my programming, even if I'm not refactoring. This was a surprise for me, and it is counterintuitive…

Continue Reading用Robolectric来做Android unit testing

Otto: No More Callbacks

Otto: No more callbacks 你要做一个todo app,有一个Activity里面有一个ListView显示你所有的task,你的数据存储在服务器。假设你没采用任何的软件架构(MVC、MVP、MVVM等等),每次app打开的时候,你从服务器把数据load下来,load完了以后,通过callback把数据传给Activity,然后显示到listview里面。代码结构大概是这个样子 public class TasksActivity extends Activity { private ListView mListView; //... private void loadTasks() { TaskModel model = new TaskModel(); model.setTaskCallback(new TaskCallback() { public void…

Continue ReadingOtto: No More Callbacks