使用单元测试测试您的UI

概括地说,我们编写的测试分为3个不同的类别:

单元测试是人们可以编写的最简单的测试,并且顾名思义,它可以独立测试单个代码单元。
它们既快速又稳定,我们可以编写很多它们,它们是其他测试的基础。 一个普遍的误解是,单元测试仅针对模型(即处理数据的实体)编写。

另一方面, UI测试是对整个事物进行整体测试的工具-它们从用户角度检查系统,并且极易损坏。
UI测试既昂贵又缓慢,并且是需要不断进行维护以跟上不断发展的系统的测试。


我们应该始终努力减少运行测试所需的时间-通过将大量的UI测试转移到单元测试,我们可以获得绝缘和速度方面的好处。

这是一个例子……

假设我们在UIViewController中有一个UITableView,它应该覆盖整个视图。

我们的测试不应检查tableView是否正确“拉伸”(最终结果),而应检查视图是否具有上述约束(并相信系统在内部做正确的事情):

这个简单的测试比任何UI测试都快得多,并且不依赖于应用程序的其他部分来加载和显示View Controller(根据UI测试的要求)。

希望这可以帮助。 测试愉快!


为了完整起见,这是整个TasksViewControllerTests类: