我需要编写单元测试并测试我的ViewModel。我有一个基础ViewModel,它继承了AndroidViewModel。我之所以扩展AndroidViewModel是为了可以在Dagger中使用上下文。
这是我的BaseViewModel。
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);
}
我在单元测试中创建ViewModel实例时遇到了问题。尝试了很多方法,但都没有成功。
我考虑过继承ViewModel而不是AndroidViewModel,并创建一个工厂将应用程序上下文传递给我的ViewModels。但最终,无论何时我尝试创建ViewModel的实例,我都会遇到相同的问题。
是否有人有示例可供我参考如何进行测试?还是说我需要进行Instrumented测试而不是单位测试?
我对测试非常陌生,所以可能做得不正确,请帮忙指导。
谢谢