0
私のユニットテストコードは正しいですか?Android Junit test with mockito
LoginFragmentViewModel.java
private final LoginRepository mLoginRepository;
MutableLiveData<String> mLoginResponseLiveData;
public LoginFragmentViewModel() {
mLoginRepository = new LoginRepository();
}
public LiveData<String> doLogin(String username, String password) {
mLoginResponseLiveData = mLoginRepository.login(username, password);
return mLoginResponseLiveData;
}
LoginFragmentViewModelTest.java
@Test
public void check_do_login(){
LoginRepository loginRepository = mock(LoginRepository.class);
MutableLiveData<String> mutableLiveData = mock(MutableLiveData.class);
mutableLiveData.setValue("Testing value");
when(loginRepository.login(anyString(), anyString())).thenReturn(mutableLiveData);
LiveData<String> stringLiveData = mLoginFragmentViewModel.doLogin("[email protected]", "[email protected]");
assertEquals(stringLiveData.getValue(),"Testing value");
}
私の最初の疑問は、ViewModelクラスのdoLoginのような単体テストの簡単なメソッドに必要があります。リポジトリへの転送コードが含まれています.2番目に、同じテストからログインメソッド(同じリポジトリクラス)を嘲笑せずにテストします。リポジトリクラスのメソッドを個別にテストすべきですか? – Ramprasad