私は現在、Androidのデータバインディングを導入した非常に良いプロジェクトに取り組んでいます。すべてがコード内で正常に動作しますが、単体テストではコードをテストできません。私はデータバインディングを模擬するために苦労してい ... Androidのユニットテストとデータバインディング
のsetUp()メソッドに次の行を追加し
:PowerMockito.when(DataBindingUtil.classは、 "膨らませる"、インフレータ、anyInt( )、any(ViewGroup.class)、anyBoolean())。then return(viewDataBinding.getRoot());
... thenReturn()不足していることがあります
は、私は次のエラーメッセージがあるでしょう。
ご覧のとおり、私は最後に戻りますが、Mockitoはそれを見ません。
Iコンクリート試験方法にコードを移動しようとした:
ビューを返す必要がありますのinflate() のinflate()で返すことはできませんorg.mockito.exceptions.misusing.WrongTypeOfReturnValue:私は次のメッセージがあります。この場合
@Test public void createViewHolder() { .... CODE.... when(DataBindingUtil.inflate(inflater,anyInt(),any(ViewGroup.class),anyBoolean())).thenReturn(viewDataBinding); ... CODE ...}
。 ViewDataBinding $$ $$ EnhancerByMockitoWithCGLIB f5f40ad1は
DataBindingUtil.inflateがコード内でViewDataBindingを返しているので、このメッセージが表示される理由はわかりません。 Androidでデータのバインドを試したことがありますか?
@PrepareForTest({} DataBindingUtil.class) を私は持っていた
PowerMockito.mockStatic(DataBindingUtil.class);
PowerMockito.mockStatic(ViewDataBinding.class);
クラスの先頭に: を追加する必要があります。
しかし、私はまだデータバインドされたXMLをテストするための素晴らしいフレームワークを探しています。 – Karoly