上述結構中,帶有@Before注解的函數在該類實例化后,會立即執行,通常用于執行一些初始化的操作,比如構造網絡請求和構造Activity。帶有@test注解的是單元測試的case,由Robolectric執行,這些case本身也是函數,可以在其他函數中調用,因此,case也是可以復用的。每個case都是獨立的,case不會互相影響,即便是相互調用也不會存在多線程干擾的問題。
常見Robolectric用法
Robolectric支持單元測試范圍從Activity的跳轉、Activity展示View(包括菜單)和Fragment到View的點擊觸摸以及事件響應,同時Robolectric也能測試Toast和Dialog。對于需要網絡請求數據的測試,Robolectric可以模擬網絡請求的response。對于一些Robolectric不能測試的對象,比如ConcurrentTask,可以通過自定義Shadow的方式現實測試。下面將著重介紹Robolectric的常見用法。
原文轉自:http://tech.meituan.com/Android_unit_test.html