分配后,在`Robolectric`单元测试中获取活动`ViewDataBinding`字段

时间:2016-11-05 18:22:55

标签: android unit-testing robolectric

我正在编写一个Robolectric单元测试,它要求我在测试视图数据绑定类(ViewDataBinding)下使用该活动,遗憾的是没有运气我坚持在单元测试中为null < / p>

MainActiviy类内:

...
ActivityMainBinding binding; // <-- this field returns null inside unit test
...
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
}
...

如果有人编写了具有类似要求的测试,那么您能否展示一个示例,说明在测试完成之前如何分配ViewDataBinding分类。谢谢!

  

注意:我使用的是Android Studio 2.2

1 个答案:

答案 0 :(得分:0)

我发现使用Robolectric版本3.1进行测试是我的问题,升级到使用Robolectric版本3.1.4后,活动ViewDataBinding字段不再是返回null

参见PR:https://github.com/emartynov/android-architecture/pull/1

感谢@EugenMartynov您对此问题的贡献。

  

注意:如果您决定使用Gradle版本3.1并在升级后遇到其他问题,请使用Gradle版本3.1来构建项目。请查看{{ 1}}在评论其他无关问题之前,相应地更新Gradle构建脚本(Gradles change logs)。