我想在单击按钮时测试我的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();
...
}
}
答案 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 ;
...
}