Moxie 0.2.2

Moxie 0.2.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年5月
SPM支持 SPM

Jason Duffy 维护。



Moxie 0.2.2

Moxie

Build Status License Pod

专为 Swift 设计的敏捷模拟库

Moxie

使用 Moxie

假设您有一个想要模拟的协议。

protocol List {
    mutating func add(_ item: String)
    mutating func clear()

    func get(_ index: Int) -> String?
}

您可以使用 Moxie 创建一个模拟。

import Moxie

struct MockList: Mock, List {
    var moxie = Moxie()

    mutating func add(_ item: String) {
        record(function: "add", wasCalledWith: [item])
    }

    mutating func clear() {
        record(function: "clear")
    }

    func get(_ index: Int) -> String? {
        return value(forFunction: "get")
    }
}

然后您可以在测试中使用它。

func testList() {

    var mockList = MockList()

    // verifying invocations
    mockList.add("one")
    mockList.clear()

    XCTAssertTrue(mockList.invoked(function: "add"))
    XCTAssertEqual("one", mockList.parameters(forFunction: "add")[0] as? String)
    XCTAssertTrue(mockList.invoked(function: "clear"))

    // stubbing
    mockList.stub(function: "get", return: "first")

    XCTAssertEqual("first", mockList.get(0))
}

文档

  1. 安装
  2. 创建模拟
  3. 存根
  4. 验证调用