小编Fra*_*ank的帖子

使用Robolectric测试Activity时模拟SQLite-Database

在过去的几天里,我开始玩roboguice,robolectric和mockito.我有一个小型的Android应用程序,其中包含一个包含AutoCompleteTextView的登录屏幕,可以更快地输入用户名.AutoCompleteTextView的用户名存储在sqlite数据库中.

public class MainActivity extends RoboActivity implements View.OnClickListener {
@InjectView(R.id.startScreen_Login_Button) private Button loginButton;
@InjectView(R.id.startScreen_Cancel_Button) private Button cancelButton;
@InjectView(R.id.startScreen_forgotPwd_TextView) private TextView forgotPWTextView;
@InjectView(R.id.startScreen_Username_AutoCompleteTextView) private AutoCompleteTextView loginUsernameAutoCompleteTextView;
@InjectView(R.id.startScreen_Password_EditText) private EditText loginPasswordEditText;
@Inject private SharedPreferences sharedPreferences;
@Inject SQLiteDBAdapter dbAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    loginButton.setOnClickListener(this);
    cancelButton.setOnClickListener(this);
    forgotPWTextView.setOnClickListener(this);

    // Creating List for startScreen_Username_AutoCompleteTextView
    List<User> userList = dbAdapter.getUserList();
    ListIterator<User> it = userList.listIterator();
    List<String> userStringList = new ArrayList<String>();
    User user;
    while (it.hasNext()) {
        user = it.next();
        userStringList.add(user.getName());
    }

    loginUsernameAutoCompleteTextView.setAdapter(new ArrayAdapter<String>(this, R.layout.select_page_row, userStringList));
    } …
Run Code Online (Sandbox Code Playgroud)

android mockito roboguice robolectric

7
推荐指数
1
解决办法
3961
查看次数

标签 统计

android ×1

mockito ×1

roboguice ×1

robolectric ×1