XCTest
Swift

XCTestをとりあえず使ってみた。

More than 1 year has passed since last update.


XCTestってなに?

iOSの単体テスト用のフレームワークで、

Xcodeでプロジェクトを作った時に一緒に作られているものです。


とりあえず使ってみよう。

難しいことは考えず、どんなものかとりあえず実装してみましょう。

動きの確認なのでこのぐらい簡単に書いてみます。

a + bの結果を返すだけの記述です。


Sample.swift

import Foundation

class Sample{
func add(a:Int,b:Int) -> Int {
return a + b;
}
}


こっちは○○○Testsのフォルダに


SampleTest.swift

import XCTest

class SampleTest: XCTestCase {

override func setUp() {
super.setUp()
}

override func tearDown() {
super.tearDown()
}

func testOK() {

XCTAssertEqual(5, Sample().add(2, b: 3));
}

func testNo() {

XCTAssertEqual(6, Sample().add(2, b: 3));
}

}


⌘+UでTestを実行してみるとこのような結果に

スクリーンショット 2016-08-04 23.15.44.png

XCTAssertEqual(5, Hello().add(2, b: 3));

XCTAssertEqual(6, Hello().add(2, b: 3));

のそれぞれにマークが付いていますね。

これはXCTAssertEqualの部分が右と左がイコールかどうか、

つまり5or6Hello().add(2, b: 3)の結果がイコールかをチェックしています。

なので上記の結果のように、上のfunc testOK()は緑の成功マーク

下のfunc testNO()は赤の失敗マークがつきます。


感想

このように本来は直接打ち込んだり、アプリを操作して行うテストを、

コードで記述してしまうことで、自動的に行えるようになります。

いやー便利便利。

作ったアプリのテストで、散々手動で値の入力などを行っていたので、

もっと早く知りたかったですね。(そもそも知らなかったのが問題、、、)

XCTAssertEqualの部分の記述は、XCTAssertTrueXCTAssertFalseなど、

種類はいくつかあるようなので、用途に合うものを使って実装してみてください。

まだまだ不十分なところも多いとは思いますが、今回はこのぐらいで終わりです。

またそのうち追記していきますね。