gpt4 book ai didi

android - 如何测试点击触发的AsyncTask?

转载 作者:行者123 更新时间:2023-11-29 15:18:24 25 4
gpt4 key购买 nike

如果 AsyncTask 是由按钮上的单击事件触发的,我该如何测试它 - 如何等待 AsyncTask 完成?

请注意,我总是可以在我的测试方法中直接执行 AsyncTask,我知道如何测试这种情况。但是,如果我坚持使用 performClick() 模拟 onClick 事件,我还能测试我的注册过程吗?

主 Activity 功能测试

public class MainActivityFunctionalTest extends
ActivityInstrumentationTestCase2<MainActivity> {
// ...
public void testRegistration() {
ImageButton submitBtn = (ImageButton) solo.getView(R.id.BtnR);
assertNotNull(submitBtn);


submitBtn.performClick();
// How to do something when the registration is done?
}
// ...
}

MainActivity(待测项目的)

ImageButton submitBtn = (ImageButton) findViewById(R.id.BtnRegister);
submitBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
sendRegistration();
}
});

public void sendRegistration() {
Processor processor = new Processor();// subclass of AsyncTask
processor.execute();
}

最佳答案

你可以这样做:

myAsyn obj = new myAsyn();
obj.execute();

while(obj.getStatus()==AsynTask.status.Finished)
{
//wait here
}

//when it finishes , this code will going to execute.

关于android - 如何测试点击触发的AsyncTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com