Szimpla 0.0.3

Szimpla 0.0.3

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2016年7月
SPM支持 SPM

Pedro Piñera 维护。



Szimpla 0.0.3

Szimpla

logo

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

功能

  • 兼容 iOS。
  • 支持验收测试。
  • 支持自定义验证器。
  • 支持自定义过滤器。
  • 不支持并发。

功能待办事项

  • 根据头信息、参数等实现针对请求的新过滤器。

要求

安装

Szimpla 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod "Szimpla"

如何使用它

将引用添加到快照文件夹

Szimpla 使用环境变量 SZ_REFERENCE_DIR 指定文件夹来保存快照。打开您的项目方案,在 运行 部分,将变量添加到 环境变量 部分。值应该是您想要保存网络快照的文件夹。

名称
SZ_REFERENCE_DIR $(SOURCE_ROOT)/$(PROJECT_NAME)Tests/Szimpla

将服务器添加到 App

为了记录发送的请求,当您的应用程序构建为 UI 测试时启动服务器非常重要

按照以下方式将 tearUp() 方法添加到 AppDelegate 中

import Szimpla
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  if isUIBuild {
    try! Szimpla.Server.instance.tearUp()
  }    
  return true
}

并在您的请求中确保使用 Szimpla 服务器提供的配置

var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
if isUIBuild {
  configuration = Szimpla.Server.instance.sessionConfiguration(fromConfiguration: configuration)
}

记录请求

测试网络请求的第一步是在 .json 文件中记录请求。该文件将用于验证未来的测试执行。使用 Szimpla 将这些请求保存下来非常简单

import Szimpla

// Navigate to the point where you would like to start testing.
try! Szimpla.Client.instance.start() // Starts recording
// Do all your UI tests steps
try! Szimpla.Client.instance.record(path: "share/player.json") // Saves the recorded requests

请求将保存到 ${SZ_REFERENCE_DIR}/share/player.json

请求调整

Szimpla进行验证

  • 如果发送了相同数量的请求
  • 如果每个请求都符合json文件中的定义。也就是说,字段存在并且与值匹配。

由于大多数时候值可能是相对的,Szimpla支持使用正则表达式来处理你的.json字段。一旦你有记录请求的.json文件

  1. 移除你不想检查的字段。
  2. 更新那些动态字段的正则表达式。

验证请求

验证过程与录制过程类似。唯一的区别在于完成方式使用的方法

import Szimpla

// Navigate to the point where you would like to start testing.
try! Szimpla.Client.instance.start() // Starts recording
// Do all your UI tests steps
Szimpla.Client.instance.validate(path: "share/player.json") // Validates the recorded requests

如果验证失败,将使用XCTAssert断言打印验证错误。🎉

过滤器

由于你可能对不是所有请求都感兴趣,你可以使用过滤器来决定哪些请求。过滤器遵循RequestFilter协议,它是公开的,因此你可以创建自己的过滤器。当请求被记录匹配时,你可以提供过滤器而不是录制所有请求。

Szimpla还提供了一些你可以使用的默认过滤器

  • URLRequestFilter: 过滤所有这与基本URL匹配的URL。

参考

作者

Pedro Piñera Buendía, [email protected]

许可证

Szimpla在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。