Android单元测试与数据绑定
我现在正在做一个非常好的项目,在那里我们引入了Android数据绑定。代码中的一切都很好,绑定也很完美,但是当涉及到单元测试时,我无法测试我的代码。 我正在努力模仿数据绑定 将此行添加到设置()方法时: when(DataBindingUtil.class,“充气”,充气器,anyInt(),any(ViewGroup.class),anyBoolean())。然后返回(viewDataBinding.getRoot()) 我将收到以下错误消息: …然后可能缺少return() 正如你所看到的,我在最后回来了,但莫基托没有看到 我试图将代码转换为具体的测试方法:Android单元测试与数据绑定,android,unit-testing,data-binding,Android,Unit Testing,Data Binding,我现在正在做一个非常好的项目,在那里我们引入了Android数据绑定。代码中的一切都很好,绑定也很完美,但是当涉及到单元测试时,我无法测试我的代码。 我正在努力模仿数据绑定 将此行添加到设置()方法时: when(DataBindingUtil.class,“充气”,充气器,anyInt(),any(ViewGroup.class),anyBoolean())。然后返回(viewDataBinding.getRoot()) 我将收到以下错误消息: …然后可能缺少return() 正如你所看到的,
@Test
public void createViewHolder() {
.... CODE....
when(DataBindingUtil.inflate(inflater,anyInt(),any(ViewGroup.class),anyBoolean())).thenReturn(viewDataBinding);
... CODE ...}
在这种情况下,我将收到以下消息:
org.mockito.exceptions.misusing.ErrorTypeOfReturnValue:
充气()无法返回ViewDataBinding$$EnhancerByMockitoWithCGLIB$$f5f40ad1
充气()应返回视图
我不明白为什么我会收到这个消息,因为DataBindingUtil.inflate在代码中返回一个ViewDataBinding,它在代码中工作得非常好。
你们有没有人尝试过在Android上模拟和单元测试数据绑定?好的,问题如下: 需要补充: @PrepareForTest({DataBindingUtil.class}) 直到课程开始 我必须将这些行添加到设置()中 然后:
进入测试本身 尽管如此,我仍然在寻找一个很棒的框架,即如何测试数据绑定的XML。
PowerMockito.mockStatic(DataBindingUtil.class);
PowerMockito.mockStatic(ViewDataBinding.class);
when(DataBindingUtil.inflate(eq(inflater), anyInt(), any(ViewGroup.class), anyBoolean())).thenReturn(viewDataBinding);
when(viewDataBinding.getRoot()).thenReturn(itemView);