6

我刚写了一个自定义的View类,其中包括允许开发人员轻松设置边界(例如,setBorderWidth,setBorderColorsetBorderWidthLeft等)。我通过覆盖onMeasure/onDraw来做到这一点,我想测试视图是否正确绘制了这些边界。理想情况下,我想要一个比单元测试更高级别的东西:基本上我想强制执行,如果我设置了边框,则按预期绘制它们;如果我不设置它们,它们不会被绘制;如果我改变它们,新的边框就会被绘制出来,而旧的边框将不再可见。这让我知道我的观点正在高水平工作。什么是测试自定义视图的onMeasure/onLayout/onDraw方法的好方法?

事情我已经考虑:

  1. 以视图孤立地Robolectric,并用帆布模拟手动调用的onDraw(虽然不测试无效)
  2. 制作一个活动的测试用例并以某种方式保存活动的截图并以编程方式进行分析。

这些对我来说都不是很好,但我倾向于2)。任何其他想法?

回答

相关问题