2017/11/07

Swift でテストコードの書き方(XCTest)

Xcode でプロジェクト(この例ではTestXCTest)を作ったら Cmd+U でテストが動作することを確認。編集途中でメソッド等を認識しなくなったら、Cmd+U。




//  MyTest.swift

//  TestXCTest

// テスト対象のメソッド doSometing()

enum MyTest {

    static func doSometing(inoutString:inout String) -> Bool {

        print("MyTest:doNothing", inoutString)

        if inoutString.hasPrefix("NW") {

            return true

        }

        inoutString = "NW" + inoutString

        return false

    }

}






//  TestXCTestTests.swift

//  TestXCTestTests

// テストのコード (TestXCTestTests.swift)

class TestXCTestTests: XCTestCase {

    func testDoSometing(){

        var inoutString = "NWStartSmall"

        XCTAssertTrue(MyTest.doSometing(inoutString: &inoutString))

        

        inoutString = "NWStartSmall"

        XCTAssertFalse(MyTest.doSometing(inoutString: &inoutString))    // ここでエラー

    }