Android单元测试onclick方法

时间:2015-12-12 18:50:03

标签: java android unit-testing

我想在单击按钮时测试我的android活动的行为。 onclick方法将在内部实例化一个新对象。基于与对象的交互(涉及与Web服务器的交互),该按钮应在文本视图中设置文本。

我想模拟对象,以便我可以测试每个可能的响应并验证是否已设置正确的UI文本。

我的问题是,如何注入模拟? onclick方法的签名由android直接指定,因此无法更改,我无法通过构造函数注入对象,因为它是应用程序打开时启动的活动。

有什么想法吗?

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

1 个答案:

答案 0 :(得分: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 ;
    ...
}