XCTestとは
iPhoneの単体テスト用のフレームワークです。
Xcodeでプロジェクトを生成した時にデフォルトで生成されます。
XCTestの使い方
テストの場所
ナビゲーターを見ると、プロジェクト名+Tests
というグループが作られている事が分かります。
テストはこの中のファイルに記述していきます。
テストの実行方法
デフォルトで作られるテストファイルは下のようになっています。
まずはこのテストを実行してみようと思います。
import UIKit import XCTest class MyTestTests: XCTestCase { override func setUp() { super.setUp() // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDown() { // Put teardown code here. This method is called after the invocation of each test method in the class. super.tearDown() } func testExample() { // This is an example of a functional test case. XCTAssert(true, "Pass") } func testPerformanceExample() { // This is an example of a performance test case. self.measureBlock() { // Put the code you want to measure the time of here. } } }
テストは下の画面で▶を押すことで実行されます。
cmd+uでも実行する事ができます。
テストを追加してみる
デフォルトで作られたテストファイルにテストを追加してみます。
テストの追加は下のようにtest
から始まるメソッドを追加してAssert
を追加すれば完了です。
func testFirst() { XCTAssertEqual(1, 1, "MyFirstTest") }
テストファイルを追加する場合は下のようにTest Class Case
を選択します。
追加する際にimport Cocoa
という行でエラーが出ているのですが、これはこの行を削除すれば問題なく動きます。
自分で作ったクラスに対するテストを書く
次は自分で作ったクラスのテストを書きます。
早速下のようなクラスを作ってみます。
class MyModel: NSObject { func method() -> String { return "String" } }
テストで利用できるようにこのファイルの右カラムのMyTestTests
にチェックを入れます。
下のようなテストを書きます。
func testMethod() { XCTAssertEqual(MyModel().method(), "String", "methodがStringを返す事") }
まとめ
今回はXCTest
の簡単な使い方を調べてみました。
今後は実際に個人アプリにも導入していきたいと思います。