测试自定义View的onMeasure / onLayout / onDraw方法有什么好方法?

时间:2014-12-03 19:43:46

标签: android android-layout android-custom-view android-testing

我刚刚编写了一个自定义View类,除其他外,它允许开发人员轻松设置边框(例如setBorderWidthsetBorderColorsetBorderWidthLeft等。我通过覆盖onMeasure / onDraw来完成此操作,我想测试View是否正确绘制了这些边框。

理想情况下,我想要比单元测试更高级别的东西:基本上我想强制执行如果我设置边框,它们按预期绘制;如果我不设置它们就不会被绘制;如果我更改它们,则会绘制新边框并且不再显示旧边框。这让我知道我的观点正在高水平发挥作用。

我考虑过的事情:

  1. 使用Robolectric隔离视图并使用模拟Canvas手动调用onDraw(但不测试失效)
  2. 制作活动测试用例并以某种方式保存活动的屏幕截图并以编程方式对其进行分析。
  3. 这些对我来说都不是很好,但我倾向于2)。还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

对于测试GridAlignmentonDrawonLayout screenshots-tests-for-android是相当可观的选择。