1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

XCTestのAssertion一覧、テストファイルの使い方について

Last updated at Posted at 2020-02-07

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アプリ開発自動テストの教科書

1
2
1

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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?