ViewModelProviders.of上的Espresso UI错误

时间:2018-06-12 07:31:40

标签: android viewmodel android-espresso dagger-2

我正在尝试在我的应用程序中编写espresso测试。在应用程序中,我使用dagger 2和架构组件(LiveData等)。该测试具有帮助我为测试活动创建假注射的功能。当我用它来模拟ManViewModel它没有问题,我可以运行测试。但是当我想为ViewModelProvider.Factory设置一个模拟值时,测试会在MainActivity中抛出一个错误:ViewModelProviders.of(th ... iewModelImpl :: class.java)不能为null

我已经调试了测试,当我分配模拟值时,它不是null,而在主活动中,值不是null,而是钢,我得到了错误。

一些帮助将不胜感激。

MainActivity的代码:

main()

MainActiviyTest的代码:

class MainActivity : BaseActivity(), AnimateFactsImage {
    @Inject
    lateinit var viewModelFactory: ViewModelProvider.Factory

    @Inject
    lateinit var mainViewModel: MainViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
        mainViewModel = ViewModelProviders.of(this, viewModelFactory).get(MainViewModel::class.java) 
        // Here is the error: ViewModelProviders.of(th…iewModelImpl::class.java) must not be null
    }
}

0 个答案:

没有答案