由于现在可以在Xcode的模拟器上运行应用程序测试,除了可能节省大量执行时间之外,还有什么优势可以将测试分成逻辑和应用程序测试?
根据Apple docs进行区分:
逻辑测试。这些测试在洁净室环境中检查代码的正确功能;也就是说,您的代码不会在应用程序中运行。逻辑测试允许您将非常具体的测试用例组合在一起,以非常精细的级别(类中的单个方法)或作为工作流的一部分(一个或多个类中的多个方法)来练习代码。您可以使用逻辑测试对代码执行压力测试,以确保它在正在运行的应用程序中不太可能发生的极端情况下正常运行。这些测试可帮助您生成可靠的代码,这些代码在您未预料到的方式使用时可正常工作。逻辑测试是基于iOS模拟器SDK;但是,应用程序不能在iOS模拟器中运行:正在测试的代码在相应的目标构建阶段运行。
应用程序测试。这些测试检查正在运行的应用程序中的代码功能。您可以使用应用程序测试来确保用户界面控件(插座和操作)的连接保持不变,并且在处理应用程序时控件和控制器对象可以与对象模型一起正常工作。由于应用程序测试仅在设备上运行,因此您还可以使用这些测试来执行硬件测试,例如获取设备的位置。
答案 0 :(得分:4)
与逻辑测试相比,应用程序测试实际上用于两个不同的事情:
逻辑测试 /单元测试用于测试一种或几种方法的非常小的行为,例如: “鉴于我创建了这样的对象,某个属性的价值是我所期望的那样吗?”
然而,应用程序测试用于测试大局,例如“当我点击某个表视图单元格时,我是否在详细视图中获得了正确的数据?”