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

Kev*_*ain 10 android unit-testing robolectric

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

里面的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);
}
...
Run Code Online (Sandbox Code Playgroud)

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

注意:我正在使用 Android Studio 2.2

Kev*_*ain 1

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

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

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

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