java - 单元测试图形

标签 java unit-testing graphics junit

是否有针对生成图形的单元测试代码的标准最佳实践?我专门使用 Java 和 jUnit,但我认为这个概念也适用于其他语言。

到目前为止,我能想到的最好的方法是使用 Mockito 模拟 Graphics 对象并断言预先计算好的东西,例如(伪代码):

assert that graphics.drawString was called with ("abc", 50, 100)
assert that graphics.setBackgroundColor was called with Color.RED

虽然一切都很好,但我想知道这是否是正确的方法,或者是否有更多既定的实践来测试图形代码。

最佳答案

我不知道这是否是惯例,但我会考虑 SVGGraphics2D来自 Batik 项目,用于模拟图形,并比较生成的 SVG文件。

比较二进制文件的优势在于 SVG 文件是相对可读的 XML 文件,因此如果两个文件不相等,您不仅知道有问题,而且还可以很好地提示错误的确切位置问题。

与您的解决方案相比的优势在于可以查看这些 SVG 文件(例如在浏览器中),因此测试场景是自记录的。

关于java - 单元测试图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14961412/

相关文章:

java - Eclipse插件: how to implement a new library type?

使用 GNU make 跨不同目录进行编译

c# - 为 if else 语句编写单元测试

c# - 如何使用 Moq stub 接口(interface)方法

java - Android:可动画化的3D人体代码

c++ - 为什么我的三角形画在窗口的左下侧

java 清除具有透明背景的 JPanel

java - 在非主类中创建PApplet

java - 输出未知宽度的金字塔

java - 如何将 JLabel 添加到 JPanel