如何测试在 Canvas 上绘制内容的方法。例如,对于一个 Android 应用程序,我有以下代码:
@Override
public void draw(Canvas canvas) {
canvas.drawRect(rect, paint);
}
这当然是一个非常简单的示例,但仍然是:我如何测试是否绘制了正确的 Rect
?换句话说,如何检查 UI 是否显示正确的内容。
我想我可以检查我屏幕上的所有像素以查看它们是否具有正确的属性,但我想这是一种非常幼稚的方法:)
最佳答案
基本上,您不会测试您未在单元测试中实现的功能。
您编写单元测试以确保预期的调用发生。并且预期的参数被传递给这样的库方法。
然后,稍后,您可能会对端到端功能进行手动测试。
编辑:这真的取决于你的目标。如果您想通过单元测试分别获得最大的代码“功能”覆盖率,那么您的整个设计都需要为此做好准备。
当然,有时很容易使用“库调用”背后的实际功能(当您可以轻松测试结果时)。但是拥有真正的 Canvas 并进行“真正的绘图”可能需要您为任何类型的测试运行相当多的“环境”。因此,我个人会尝试隔离我所有的逻辑,以便测试变得容易,然后确保我有有效的方法来稍后测试最终结果。
关于java - 如何测试绘制到 Canvas 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53681542/