android studio使用firebase,java – 使用Firebase的Android Studio中的JUnit测试

我想在

Android Studio中为此类编写单元测试,但由于使用了Firebase,我在创建测试以覆盖userignin()和getSignedinUserprofile()时遇到问题.有人对这个有经验么?

public class LoginActivity extends AppCompatActivity implements View.OnClickListener{

private Button buttonSignIn;

private EditText editTextEmail;

private EditText editTextPassword;

private TextView textViewSignUp;

private ProgressDialog mProgressDialog;

private FirebaseAuth mfireBaseAuth;

private DatabaseReference mDatabase;

private String userID;

private FirebaseUser firebaseUser;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_login);

FirebaseApp.initializeApp(this);

mfireBaseAuth = FirebaseAuth.getInstance();

mDatabase = FirebaseDatabase.getInstance().getReference();

mProgressDialog = new ProgressDialog(this);

editTextEmail = (EditText) findViewById(R.id.editTextEmail);

editTextPassword = (EditText) findViewById(R.id.editTextPassword);

buttonSignIn = (Button) findViewById(R.id.buttonSignIn);

textViewSignUp = (TextView) findViewById(R.id.textViewSignUp);

buttonSignIn.setOnClickListener(this);

textViewSignUp.setOnClickListener(this);

}

@Override

public void onClick(View v) {

if(v == buttonSignIn){

usersignin();}

if(v==textViewSignUp){

startActivity(new Intent(this, RegisterActivity.class));}

}

public void usersignin() {

String email = editTextEmail.getText().toString().trim();

String password = editTextPassword.getText().toString().trim();

if(TextUtils.isEmpty(email)){

Toast.makeText(this, "Please enter Email", Toast.LENGTH_SHORT).show();

return;

}

if(TextUtils.isEmpty(password)){

Toast.makeText(this, "Please enter password", Toast.LENGTH_SHORT).show();

return;

}

mProgressDialog.setMessage("Logging in. Please wait...");

mProgressDialog.show();

mfireBaseAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener() {

@Override

public void onComplete(@NonNull Task task) {

mProgressDialog.dismiss();

if(task.isSuccessful()){

getSignedInUserProfile();

}

}

});

}

public void getSignedInUserProfile() {

DatabaseReference reference = mDatabase;//.child("eduback-2feef");

firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

userID = firebaseUser.getUid();

reference.child("Users").child(userID).child("User info").addListenerForSingleValueEvent(new ValueEventListener() {

@Override

public void onDataChange(DataSnapshot dataSnapshot) {

User user = dataSnapshot.getValue(User.class);

if(user != null) {

// Save if the user is student or prof in shared prefs.

PreferenceHelper helper = new PreferenceHelper(getBaseContext());

helper.setIsStudent(user.isStudent);

checkStudentOrProfessor(user);

}

}

@Override

public void onCancelled(DatabaseError databaseError) {

// Ups vis error

}

});

}

public void checkStudentOrProfessor(User user) {

Intent i;

if (user.isStudent ) {

i = new Intent(this, MainActivityStudent.class);

} else {

i = new Intent(this, MainActivityProfessor.class);

}

startActivity(i);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值