【swift】 簡単なクラスのテストを書く

 前日書いたクラスのコードを書いてみた。

 書いたテストはこんな感じ。

import XCTest
@testable import { project name } //  ←テストするプロジェクト名を入れる

class Tests: XCTestCase {
   
   func testDateFormat() {
       
       let DF = DateFormat()
       
       // 引数として渡す値 (2001年1月1日の00:00:00 UTC)
       let now  =  Date(timeIntervalSinceReferenceDate: 0)
       
       // 期待する戻り値
       let expected = "2001/01/01 9:00"
       
       // 実際の戻り値
       let actual = DF.formatSimple(now)
       
       XCTAssertEqual(actual, expected)
       
   }
   
}

 引数として now = Date(timeIntervalSinceReferenceDate: 0) と指定してありますが、これは 2001年1月1日の00:00:00 UTC ± 0 を返してくれます。

 -> init(timeIntervalSinceReferenceDate:)

 Creates a date value initialized relative to 00:00:00 UTC on 1 January 2001 by a given number of seconds.

 つまり、引数の秒数分の Date 属性の値を返却してくれるってことですね。これで固定した日付を取得して、出力の値と比較をします。


テストを行ってみる

 テストコードを Xcode 起動でする方法は「command」+「U」もしくは、ツールバーの Product より起動します。

スクリーンショット 2020-04-11 0.56.43

 

 テストコードに問題がなければ、下図のような完了のお知らせが表示されます。問題ナシ!!

スクリーンショット 2020-04-11 0.57.35

 

 複数のテストコードを記述している場合は、どのテストが通らなかったのか?というのもテストコードの列部分にて確認できるようになっています。便利ですね!

スクリーンショット 2020-04-11 0.57.50


最後に

 テストコードはアプリの品質を保つために重要なものであると考えます。テストが書きやすいプログラムを書くということは、シンプルなコードで書けているということです。

 後からプログラムを触るであろう未来の自分ためにも、品質の良いコードを書いていきたいですね!

 ここまでご覧いただきましてありがとうございました!

 hoya

この記事が気に入ったらサポートをしてみませんか?