【发布时间】:2015-02-01 12:32:18
【问题描述】:
我刚刚编写了一个自定义 View 类,除其他外,它允许开发人员轻松设置边框(例如setBorderWidth、setBorderColor、setBorderWidthLeft 等)。我通过覆盖 onMeasure/onDraw 来做到这一点,并且我想测试 View 是否正确绘制了这些边框。
理想情况下,我想要比单元测试更高级别的东西:基本上我想强制执行,如果我设置边框,它们会按预期绘制;如果我不设置它们,它们就不会被绘制;如果我更改它们,则会绘制新边框并且不再可见旧边框。这让我知道我的观点在高层次上发挥作用。
我考虑过的事情:
- 使用 Robolectric 单独获取视图并使用模拟 Canvas 手动调用 onDraw(但不测试失效)
- 制作一个 Activity 测试用例并以某种方式保存 Activity 的屏幕截图并以编程方式对其进行分析。
这些对我来说都不是很好,但我倾向于 2)。还有其他想法吗?
【问题讨论】:
标签: android android-layout android-custom-view android-testing