gpt4 book ai didi

objective-c - 单元测试自定义 UIView

转载 作者:太空狗 更新时间:2023-10-30 03:37:48 24 4
gpt4 key购买 nike

我有一个使用 CoreGraphics 框架的图形应用程序,

虽然我有模型文件的单元测试套件,但我似乎无法理解如何为我的自定义 UIView 创建单元测试,

我的目标是设置 View 的基本属性并查看绘制函数的结果,尽管在我的 setter 中我调用了: [自行设置NeedsDisplay];我的“drawRect”函数不是从单元测试中调用的,尽管它是从实际应用程序中调用的

有没有办法在单元测试项目中绘制?测试 UI 项目的最佳实践/工具是什么?

谢谢

最佳答案

测试绘图的一种简单方法是首先使绘图看起来像您想要的那样(因此没有 TDD)。然后进行将绘图渲染为 PNG 的测试。使用 #if 条件在捕获基线 PNG 和与该 PNG 进行比较之间切换测试代码。

渲染在新的操作系统版本中可能会略有变化。因此,请坚持使用单一操作系统进行基线图像测试。在需要时获取新基线。

有了这种测试,您就可以重构绘图代码了。如果它呈现相同的图像,则您的最新更改是好的。如果存在差异,您必须就是否接受更改做出眼球决定。 (如果你这样做,捕获一个新的基线。)

编辑:如今,我不再手动完成所有这些工作,而是使用 iOSSnapshotTestCase .当测试失败时,它不会只给出“出错了”的结果,而是保存图像。这样,您就可以进行并排比较,而无需手动启动您的应用程序并导航到有问题的 View 。它还模拟在不同方向上对不同设备的渲染,这对于检查自动布局非常有用。

关于objective-c - 单元测试自定义 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com