有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何测试绘制画布的方法?

我该如何测试一个将某物绘制到画布上的方法。例如,对于安卓应用程序,我有以下代码:

@Override
public void draw(Canvas canvas) {
    canvas.drawRect(rect, paint);
}

这当然是一个非常简单的例子,但仍然是:我该如何测试是否绘制了正确的Rect?换句话说,如何检查UI是否显示了正确的内容

我想我可以检查屏幕上的所有像素,看看它们是否具有正确的属性,但我想这是一种非常天真的方法:)


共 (1) 个答案

  1. # 1 楼答案

    基本上,你不会测试你没有在单元测试中实现的功能

    编写单元测试以确保预期的调用发生。并将预期参数传递给此类库方法

    然后,稍后,您可能会对端到端功能进行手动测试

    编辑:这取决于你的目标。如果你想通过单元测试获得最大的代码“特性”覆盖率,那么你的整个设计都需要为此做好准备

    当然,有时很容易使用“库调用”背后的实际功能(当您可以轻松测试结果时)。但是,拥有一块真正的画布,并且进行“真正的绘制”,可能需要为任何类型的测试运行相当多的“环境”。所以,我个人会尝试隔离我的所有逻辑,这样就很容易进行测试,然后确保我有有效的方法来测试最终结果