XCTestのAssertion一覧と使い方について、頭に入りきっていないので自身のためのカンペを兼ねてまとめました。
筆者が初学者のため、噛み砕いた記事になります。誤字脱字、補足、ここおかしいよ!等歓迎します。
テストファイルの記入
import XCTest //XCTestのフレームワークをインポート
@testable import モジュール名 //モジュールをテスト用にインポート。モジュールが異なる場合、アクセス識別子がpublic,openでないとアクセスできないが、@testableとすることでinternal(明示的にアクセス識別子が書かれてない場合のデフォルト値)へアクセスできる。
class クラス名: XCTestCase //XCTestCaseを継承
XCTestのAssertion一覧
Assertion名の引数の最後にあるstringは試験失敗時のメッセージとして、文字列を入れることができる。試験の結果が確認しやすいよう状況に応じて使用する。
Boolean Assertions
Assertion名 |
説明 |
XCTAssert(expression,string) |
expressionがtrueであることを確認する |
XCTAssertTrue(expression,string) |
expressionがtrueであることを確認する(XCTAssertと同じ) |
XCTAssertFalse(expression,string) |
expressionがfalseであることを確認する |
Nil and Non-nil Assertions
Assertion名 |
説明 |
XCTAssertNil(expression,string) |
expressionがnilであることを確認する |
XCTAssertNotNil(expression,string) |
expressionがnilではないことを確認する |
Comparable Value Assertions
Assertion名 |
説明 |
XCTAssertGreaterThan(expresstion1,expression2,string) |
expression1 > expression2となっていることを確認する |
XCTAssertGreaterThanOrEqual(expresstion1,expression2,string) |
expression1 ≧ expression2となっていることを確認する |
XCTAssertLessThan(expresstion1,expression2,string) |
expression1 < expression2となっていることを確認する |
XCTAssertLessThanOrEqual(expresstion1,expression2,string) |
expression1 ≦ expression2となっていることを確認する |
Equality and Inequality Assertions
Assertion名 |
説明 |
XCTAssertEqual(expresstion1,expression2,string |
expression1とexpression2を比較し、一致することを確認する |
XCTAssertNotEqual(expresstion1,expression2,string) |
expression1とexpression2を比較し、一致しないことを確認する |
XCTAssertEqualObjects(expresstion1,expression2,string |
expression1とexpression2を比較し同一オブジェクトであることを確認する(Objective-C専用) |
XCTAssertNotEqualObjects(expresstion1,expression2,string) |
expression1とexpression2を比較し同一オブジェクトではないことを確認する(Objective-C専用) |
XCTAssertEqualWithAccuracy(expresstion1,expression2,accuracy,string) |
expression1とexpression2を比較しaccuracyの範囲以内に差が収まっていることを確認する |
XCTAssertNotEqualWithAccuracy(expresstion1,expression2,accuracy,string) |
expression1とexpression2を比較しaccuracyの範囲以内に差が収まっていないことを確認する |
NSException Assertions
Assertion名 |
説明 |
XCTAssertThrows(expression,string) |
expressionで例外が発生することを確認する |
XCTAssertNoThrows(expression,string) |
expressionで例外が発生しないことを確認する |
XCTAssertThrowsSpecific(expression,exception_class,string) |
expressionで、特定のクラス(exception_class)で例外が発生することを確認する |
XCTAssertNoThrowsSpecific(expression,exception_class,string) |
expressionで、特定のクラス(exception_class)で例外が発生しないことを確認する |
XCTAssertThrowsSpecificNamed(expression,exception_class,exception_name,string) |
expressionで、特定のクラス(exception_class)の特定の例外(exception_name)が発生することを確認する |
XCTAssertNoThrowsSpecificNamed(expression,exception_class,exception_name,string) |
expressionで、特定のクラス(exception_class)の特定の例外(exception_name)が発生しないことを確認する |
Failing Unconditionally
Assertion名 |
説明 |
XCTFail(string) |
テストを失敗させる |
参考
Apple Developer
XCTestのAssert一覧
iOSアプリ開発自動テストの教科書