xcode - 应用测试 VS 逻辑测试

标签 xcode cocoa-touch unit-testing xcode4

由于应用程序测试现在可以从 Xcode 在模拟器上运行,除了可能节省一点执行时间之外,仍然将您的测试分为逻辑测试和应用程序测试还有什么好处?

按照Apple docs区分:

  • 逻辑测试 .这些测试在洁净室环境中检查代码的正确功能;也就是说,您的代码不在应用程序中运行。逻辑测试让您可以将非常具体的测试用例放在一起,以便在非常细粒度的级别(类中的单个方法)或作为工作流的一部分(一个或多个类中的多个方法)来练习您的代码。您可以使用逻辑测试对代码执行压力测试,以确保它在运行应用程序中不太可能出现的极端情况下正确运行。这些测试可帮助您生成健壮的代码,当以您未曾预料到的方式使用时,这些代码可以正常工作。逻辑测试基于 iOS Simulator SDK;但是,该应用程序并未在 iOS 模拟器中运行:正在测试的代码在相应目标的构建阶段运行。
  • 应用测试 .这些测试检查正在运行的应用程序中代码的功能。您可以使用应用程序测试来确保您的用户界面控件(导出和操作)的连接保持原位,并且在您处理应用程序时,您的控件和 Controller 对象可以与您的对象模型正确工作。由于应用程序测试仅在设备上运行,您还可以使用这些测试来执行硬件测试,例如获取设备的位置。
  • 最佳答案

    与逻辑测试相比,应用程序测试实际上用于两种不同的事情:

    逻辑测试/单元测试用于测试一种或几种方法的非常小的行为,例如“鉴于我像这样创建我的对象,某个属性的值(value)是我期望的吗?”

    应用测试 但是用于测试大图,例如“当我点击某个表格 View 单元格时,我是否在详细 View 中获得了正确的数据?”

    关于xcode - 应用测试 VS 逻辑测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730960/

    相关文章:

    xcode - 在 Swift 中获取 UIPickerView 控件的选定值

    ios - 为什么 Xcode 中缺少状态栏模拟指标?

    swift - 如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI、Xcode 11 Beta 5)

    iphone - 导航栏后退按钮,文本未居中对齐

    java - Dagger 2 与注入(inject)器类

    c# - Teamcity - 编写访问单独 JSON 文件的测试

    c++ - 是否可以在 Xcode 5.1 中使用 std::make_unique?

    iphone - UILocalNotification 未触发

    ios - UIDocumentPickerViewController 以阿拉伯语显示翻转的内容

    javascript - 如何模拟在 React JS 组件中创建的实例?