Smock 0.2.0

Smock 0.2.0

测试已测试
语言语言 SwiftSwift
许可协议 MIT
发布上次发布2017 年 4 月
SwiftSwift 版本3.0
SPM支持 SPM

kviksilver 维护。



Smock 0.2.0

Smock

Smock 通过提供记录选择器调用、参数和存根返回值的功能,使在 Swift 中测试协议扩展变得更容易

示例

在 Tests 对象中查找 ProtocolUnderTestProtocolUnderTestMockTestingProtocolExtensions,以获取更多详细信息。

基本示例

协议定义以下接口

protocol ProtocolUnderTest: class {
    func functionToTest()
    func functionToImplement()
}

扩展实现了 functionToTest,它调用 functionToImplement

extension ProtocolUnderTest {
    func functionToTest() {
        functionToImplement()
    }
}    

为了测试扩展是否确实完成了所需的工作(在我们的案例中是函数调用),我们在测试目标中创建了一个符合 ProtocolUnderTestMock 协议的存根,如下所示实现了所需 的 functionToImplement

class ProtocolUnderTestMock: NSObject, ProtocolUnderTest, Mock {}
extension ProtocolUnderTestMock {
    func functionToImplement() {
        registerSelector(#selector(functionToImplement))
    }
}

要求

安装

Swift 包管理器

Swift 包管理器

要使用 Swift 包管理器,请尝试将以下内容添加到您的 Package.swift 文件中

import PackageDescription
let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/kviksilver/Smock.git", majorVersion: 0),
    ]
    )

作者

kviksilver, [email protected]

许可协议

Smock 根据 MIT 许可协议提供。有关更多信息,请查看 LICENSE 文件。