2015-12-12 77 views
0

我想測試單擊按鈕時我的android活動的行爲。 onclick方法將在內部實例化一個新對象。基於與對象的交互(涉及與Web服務器的交互),按鈕應該在文本視圖中設置文本。Android單元測試onclick方法

我想嘲笑對象,以便我可以測試每個可能的響應並驗證是否設置了正確的UI文本。

我的問題是,我該如何注入模擬? onclick方法的簽名由android直接指定,因此無法更改,也無法通過構造函數注入對象,因爲它是在應用程序打開時啓動的活動。

任何想法?

public class MainActivity extends Activity { 
    public void onClick(View view) { 
     ... 
     // The object I want to mock 
     Request request = new Request(); 
     ... 
    } 
} 

回答

1
public class MainActivity extends Activity { 
public void onClick(View view) { 
    fooBar(); 
} 
} 
public void fooBar(){ 
    ... 
    // The object I want to mock 
    Request request = //injected Mock ; 
    ... 
}