Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UI测试或单元测试框架对库进行集成测试?_Ios_Unit Testing_Integration Testing_Xcode Ui Testing - Fatal编程技术网

Ios 使用UI测试或单元测试框架对库进行集成测试?

Ios 使用UI测试或单元测试框架对库进行集成测试?,ios,unit-testing,integration-testing,xcode-ui-testing,Ios,Unit Testing,Integration Testing,Xcode Ui Testing,我必须为一个iOS库(SDK)编写集成测试。此库在iOS客户端应用程序中作为库使用,而不是作为独立应用程序使用 对于如何编写集成测试,我发现了两个同样好的意见 使用XCode UI测试和测试库与示例客户端应用程序的端到端集成。客户端应用程序将使用库的所有功能。通过这种方式,UI测试可以向我展示库如何与客户端应用程序集成 使用单元测试框架。测试将在库本身内部编写。根本不需要客户端应用程序。测试将针对多个类运行,以查看它们之间如何集成 你认为什么是正确的方法 UI测试运行缓慢,维护成本高(就时间而言

我必须为一个iOS库(SDK)编写集成测试。此库在iOS客户端应用程序中作为库使用,而不是作为独立应用程序使用

对于如何编写集成测试,我发现了两个同样好的意见

  • 使用XCode UI测试和测试库与示例客户端应用程序的端到端集成。客户端应用程序将使用库的所有功能。通过这种方式,UI测试可以向我展示库如何与客户端应用程序集成

  • 使用单元测试框架。测试将在库本身内部编写。根本不需要客户端应用程序。测试将针对多个类运行,以查看它们之间如何集成


  • 你认为什么是正确的方法

    UI测试运行缓慢,维护成本高(就时间而言)。只有在无法以其他更快速运行和更易于维护的方式获得测试覆盖率时,才应将它们用作获得测试覆盖率的一种方式

    如果您的库没有任何类型的UI,那么就没有理由仅仅为了运行UI测试而引入UI。如上所述,使用选项2更有意义

    唯一需要注意的是,示例客户端应用程序可以非常有助于在进行更改时进行手动测试,或者在进行更改后进行回归测试。它的价值取决于您的库中的内容。如果您确实制作了一个示例应用程序,那么编写一个或两个UI测试是一个好主意,只是为了检查在您进行更改时它是否回归/中断。如果你不经常使用它,它尤其有价值