我正在编写一个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
答案 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
)。