2016-11-05 19 views
9

我正在寫一個Robolectric單元測試,它要求我利用測試下的活動視圖數據綁定類(ViewDataBinding),不幸的是我沒有運氣堅持了下來作爲單元測試的內部空獲取活動`ViewDataBinding`字段在被分配後`Robolectric`單元測試

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

@EugenMartynov不幸的是,不過它的某些東西可以在未來的Android視圖測試中派上用場DataBinding&'Robolectric' –

+1

我將嘗試使用DataBinding獲取一些開源項目並向其添加Robolectric –

回答

0

我發現與3.1Robolectric測試版本是我的問題,升級到使用3.1.4Robolectric版本後的活動ViewDataBinding場不再返回null

查看PR:https://github.com/emartynov/android-architecture/pull/1

感謝@EugenMartynov爲您對此問題的貢獻。

注意:用於Gradle版本3.1建設項目,如果你決定使用後upgrading.Kindly看Gradle版本3.1和經驗等問題在Gradles change logs更新您的搖籃構建腳本(build.gradle)因此,評論等前無關的問題。

相關問題