Scoper
示例
要运行示例项目,克隆仓库,然后首先从 Example 目录运行 pod install
。
要求
Scoper 旨在使用 Swift 4 API 进行设计
安装
Scoper 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'Scoper'
用法
Scoper API 被设计为对尝试过 BDD 测试框架(如 Kiwi 或 Quick)的人来说很容易使用
通过创建 Scope
实例并通过 TestRunner
来安排它们来使用 Scoper
基本使用
let scope = DefaultScope.Builder()
.name("My scope")
.options(TestOptions.basic)
.testCase { context, completion in
//
// run worker instructions here
//
}
.build()
Builder
类针对Scope
有以下方法
name
- 设置用于人类阅读的作用域名称
options
- 设置的作用域的测量和日志选项,TestOptions
结构体
before
- 在作用域之前执行的代码块
beforeEach
- 在每个测试用例运行前为每个工作线程执行的代码块
after
- 在作用域之后执行的代码块
afterEach
- 在每个测试用例运行后为每个工作线程执行的代码块
testCase
- 添加测试用例
nestedScope
- 添加嵌套作用域
TestCase
即使存在创建TestCase
的简写方法,但它也有自己的功能构建器
name
- 设置用于人类阅读的工作线程名称
async
- 设置工作线程是否应该异步工作。在这种情况下,工作线程中应调用completion()
。默认值为false
worker
- 工作线程代码块
numberOfRuns
- 设置运行次数。默认值为10
timeout
- 设置工作线程的超时时间。从调用worker
到调用completion
这段时间测量。默认值为60秒
entryPointQueue
- 设置工作线程的入口队列。默认为DispatchQueue.main
TestOptions
TestOptions
选项值
runTime
- 测量工作线程运行时间 cpuTime
- 测量测量进程的CPU使用率 hostCpuTime
- 测量目标设备的CPU使用率 memoryFootprint
- 测量工作线程的内存使用率 diskUsage
- 测量进程的磁盘读取和写入 frameRate
- 测量设备帧率(在iOS上) logProgress
- 使用每个作用域/工作线程的启动和完成日志 logResults
- 记录性能结果 basic
- 运行时间,记录进度和记录结果 complete
- 包含所有选项
作者
彼得罗·科尔涅涅夫,[email protected]
许可证
Scoper遵循MIT许可证。有关更多信息,请参阅LICENSE文件。