2016-11-05 1 views
9

私はテストビューのデータバインディングクラス(ViewDataBinding)のアクティビティを使用する必要があるRobolectricユニットテストを書いています。それはユニットテスト割り当て後の `Robolectric`ユニットテスト内の` ViewDataBinding`フィールドを取得します

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

を使用しています私はRobolectricバージョン3.1でテストすることは私の問題ではなかったとRobolectricバージョン3.1.4を使用してアップグレードした後、活動ViewDataBindingフィールドは、もはやnull

を返したことが判明

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

ありがとうこの問題へのあなたの貢献について

注:upgrading.KindlyがあなたのGradleは、他のコメントの前に、それに応じてスクリプト(build.gradle)を構築更新するGradles change logsを見た後Gradleバージョン3.1を使用し、他の問題が発生することを決定しない場合は、建築プロジェクトのためにGradleバージョン3.1を使用します関係のない問題。

関連する問題