エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
概要 前編: テスト対象と、テストが書きづらいコードはなぜ書きづらいのかを説明します。 やさしいSwift... 概要 前編: テスト対象と、テストが書きづらいコードはなぜ書きづらいのかを説明します。 やさしいSwift単体テスト~テスト可能なクラス設計・前編~ 後編(この記事): テストが書きづらいコードを書きやすいコードへ変更する方法、実際のテストコードを説明します。 テストが書けない/書きづらいコードの原因と回避策 前編のまとめから話を続けます。 クラス外の値を内部で利用している場合 テストを行うための値を準備できない クラス外の値 = どんなものが返ってくるか分からない = テストできない → テスト時のみ、返ってくる値を固定値にする(= 返ってくる値が明確) ことで回避します。 テスト失敗時に、原因がクラス内/外どちらなのか明確にできない クラス外の値 = どんな実装になっているかわからない = テスト失敗時に原因が明確にできない → クラス外とのやりとりはProtocolを通すことで、実際