hue*_*y77 5 testing android unit-testing mvvm viewmodel
所以我必须编写单元测试,我需要测试我的 ViewModel。
我有一个基础 ViewModel,而 BaseViewModel 扩展了 AndroidViewModel。我扩展 AndroidViewModel 的原因是我可以使用 Dagger 的上下文。
我的基本视图模型。
public class BaseViewModel extends AndroidViewModel {
protected @Inject SharedPreferencesHelper sharedPreferencesHelper;
public BaseViewModel(@NonNull Application application) {
super(application);
//Only inject sharedPreferences since it is used in almost all of the VMs.
((CommissioningApplication) getApplication()).getAppComponent().inject(this);
}
Run Code Online (Sandbox Code Playgroud)
}
本质上,我在单元测试中创建 ViewModel 实例时遇到问题。我尝试了很多事情,但都没有成功。
我考虑过扩展 ViewModel 而不是 AndroidViewModel 并创建一个工厂,将应用程序上下文传递给我的 ViewModel。但最终,每当我尝试创建我的 ViewModel 实例时,我都会遇到同样的问题。
有没有人有一个我可以遵循的例子来测试这个?或者我是否必须进行仪器测试而不是单元测试?
我对测试很陌生,所以也许我没有做正确的事情,任何帮助都会很棒。
谢谢