LoginSignup
8
8

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-08-04

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など、
種類はいくつかあるようなので、用途に合うものを使って実装してみてください。

まだまだ不十分なところも多いとは思いますが、今回はこのぐらいで終わりです。
またそのうち追記していきますね。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8