[SwiftUI] [UnitTest] テストの作り方 ( Button 編)

SwiftUI component UITest シリーズ Button 編

対象要素の取得

SwiftUI の Button は、accessibility ID を使って取得できます。

XCUIElementTypeQueryProvider からの取得には、buttons を使用します。

Button を取得

状態のチェック

Button に使用されているテキストは、label から取得できます。

操作

Button に対して、tap() 等を指定することもできます。

テストコード

以下では、TestButton という accessibility ID を付与した Button に対して、tap した後に、表示されているラベルをテストしています。

Image テスト例
コード解説
  1. AccessibilityID という ID を設定された Button を取得
  2. Button の ラベルをテスト
  3. Button を タップ

アプリとテストコード例

画面に、Button が表示され、その Button をタップすると Button のラベル が切り替わるアプリと、そのアプリ用のテストコードです。

Button アプリ

「Button アプリ」
Button アプリ

Button アプリ テストコード

コード解説
  1. TestButton という Accessibility ID の設定された Button を取得
  2. ラベルが、”Hello” であることをテスト
  3. ボタンをタップ/クリック
  4. ラベルが、”World!” であることをテスト

まとめ:SwiftUI の Button をテストする方法

SwiftUI の Button をテストする方法
  • XCUIApplication から、accessibility ID 指定で Button を取得する
  • tap() 等の動作は、他の要素と同様
  • 表示している ラベル は、label から名称を取得できる

説明は以上です。
不明な点やおかしな点ありましたら、ご連絡いただけるとありがたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です