branch10480’s blog

Topics that I've learned.

2021-01-18から1日間の記事一覧

iOSアプリ開発自動テストの教科書 を読んでいく 〜 13 〜

iOS

非同期なAPIのテスト - XCTestExpectation 非同期なAPIをテストする場合は、XCTestExpectationを用い、処理が完了するまで待機するのが一般的。 テスト対象のサンプルコード。 func echo(message: String, _ handler: @escaping (String) -> Void) { Dispatc…

iOSアプリ開発自動テストの教科書 を読んでいく 〜 12 〜

iOS

テストを階層化する - XCTContext テストを階層化して表現したいと思った時に使えるのが、XCTContext.runActivity。 func safeDivision(_ x: Int, _ y: Int) -> Int? { if y == 0 { return nil } else { return x/y } } 上に対するテストが以下。 func testS…

iOSアプリ開発自動テストの教科書 を読んでいく 〜 11 〜

iOS

独自のアサーションの作成 まずは不十分な実装を示す。 func asertEmpty(_ string: String) { // [A] XCTAssertTrue(string.isEmpty, "\"\(string)\" is not empty.") } 呼び出し部はこう。 func testAssertEmpty() { // [B] assertEmpty("test") } これを実…

iOSアプリ開発自動テストの教科書 を読んでいく 〜 10 〜

iOS

アサーションについて 期待値 と 実際の値 を比較する専用のメソッドのことを アサーションメソッド もしくは単に アサーション と呼ぶ。 e.g. XCTAssertTrue(expr) expr は『式』を意味する expression の省略形。 等値性判定(Swift) XCTAssertEqual(Equa…