Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS版KyashにMock Frameworkを導入した話 / Introducing Kyash iOS Test Cases 2020

iOS版KyashにMock Frameworkを導入した話 / Introducing Kyash iOS Test Cases 2020

Hideaki Tamai

October 14, 2020
Tweet

More Decks by Hideaki Tamai

Other Decks in Programming

Transcript

  1. MVVM+Router Presentation Layer Domain Layer Data Layer API Repository UseCase

    ViewModel Router ViewController UserDefaults KeyChain 画面遷移を管理
  2. GitHub上の情報 Name Size Star 開発時期 メンテナンス mockolo 716KB 242 2019.01~

    それなりに活発 Cuckoo 2.28MB 1.3K 2016.10~ それなりに活発 Mockit 230KB 107 2016.05~ あまり活発ではない SwiftyMocky 17.59MB 694 2017.05~ それなりに活発
  3. mockoloの使い方② こんな感じのファイルが Generateされる public class FooMock: Foo { init() {}

    init(num: Int = 0) { self.num = num } var numSetCallCount = 0 var underlyingNum: Int = 0 ・・・
  4. mockoloの使い方③ GenerateされたMockクラスを呼んでXCTAsertで評価する func testMock() { let mock = FooMock(num: 5)

    XCTAssertEqual(mock.numSetCallCount, 1) mock.barHandler = { arg in return String(arg) } XCTAssertEqual(mock.barCallCount, 1) }