Swift3でUnitTest始めました。
初めてなので設定から簡単なテストケースを作成します。
環境
mcOS siera
xcode:8.2.1
swift3
プロジェクト生成
MyUnitTestの名前でプロジェクトを作ります. 「include unit tests」にチェックを入れると自動的に追加されます。
既に実装中のプロジェクトの場合以下のクリックしてBundleを追加すればUnitTestが追加されます。
File>New>Target

iOS Unit Testing Bundleを選択して設置すればOK
ViewControllerにFunctionを一つ追加してみます
ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
/// 入力された文字列が数字かどうか判別
///
/// - Parameter numStr: 文字列
/// - Returns: 判別結果
func isNumber(numStr: String) -> Bool {
if Int(numStr) != nil {
return true
} else {
return false
}
}
}
ViewControllerに追加したFunctionをテストするテストケース作成
テストファイル追加



テストケース作成
「@testable import MyUnitTest」を追加
その後はViewControllerを生成してテストケースを追加するだけです。
今回は簡単にTrue,Falseが正しくリタンされていることを確認します。
ViewControllerTests.swift
import XCTest
@testable import MyUnitTest
class ViewControllerTests: XCTestCase {
override func setUp() {
super.setUp()
}
override func tearDown() {
super.tearDown()
}
let vc = ViewController()
func test_isNumber関数に数字の文字列が入力された場合Trueがリタンされる() {
XCTAssertTrue(vc.isNumber(numStr: "123"))
}
func test_isNumber関数に数字の文字列が入力された場合Falseがリタンされる() {
XCTAssertFalse(vc.isNumber(numStr: "テスト"))
}
}