Developer Hub / テストアダプター

デバイスなしでテストする

物理的なハンドヘルドが利用可能になる前に、偽のキャプチャ ポートを使用して CI のインベントリと受信ルールを検証します。

公開基準開発者

対象端末にアプリを接続して検証します。

Android デバイス、スキャナー、またはベンダー バイナリを必要としないビジネス ロジック テスト。

迅速な単体テストと、ワークフロー ルールとハードウェア呼び出しの間の明確な境界を必要とするチーム。

公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。

方法、バージョン、制約を伴う比較可能な根拠。

開発者向け資料テストアダプター
RuggedLayerテストラボ初心者
堅牢バーコード・RFID端末向け技術ガイド、SDK情報、サンプル、互換性データ。迅速な単体テストと、ワークフロー ルールとハードウェア呼び出しの間の明確な境界を必要とするチーム。
  • 正規化されたキャプチャ イベントを使用するドメイン関数。
  • プロジェクト内ですでに実行されているテスト フレームワーク。
  • 重複した値、空の値、無効な値の場合に何が起こるべきかについての明確なルール。

公開基準

版管理された根拠とともにAndroid業務連携を構築。

公開資料は再現可能な実装パターンを中心にします。再配布制限のあるSDK、ファームウェア、メーカー資料は承認済み経路に限定します。

  1. 01

    デバイスクラスではなくポートに依存します

    受信ワークフローは、 CaptureEvent と CapturePort について知っている必要があります。スキャナーマネージャー、ブロードキャスト定数、またはモデル固有の型をインポートしないでください。

  2. 02

    決定的なイベントを発行する

    有効なスキャン、重複スキャン、空の値、および失敗に対する明示的なメソッドを偽のアダプターに提供します。入力がオペレーターのシナリオを記述する場合、テストは判読可能になります。

  3. 03

    ビジネスの成果を主張する

    在庫の動き、検証メッセージ、重複処理を確認します。ベンダー コールバックがビジネス テストから呼び出されたとは主張しないでください。これはハードウェア アダプター テストに属します。

  4. 04

    ハードウェアテストは小規模に保つ

    デバイスが利用可能な場合は、開閉、トリガー、デコード、および閉じるための集束煙テストを実行します。より大規模なワークフロー スイートは高速かつデバイス不要である必要があります。

サンプルアプリ / Kotlin

SDK・APIパターン

オリジナルテストダブル。ベンダー クラスやバイナリが含まれていないため、安全に公開できます。

fake-capture-port-test.kt

class FakeCapturePort : CapturePort {
  private var listener: ((CaptureEvent) -> Unit)? = null

  override fun open() = Unit
  override fun start() = Unit
  override fun stop() = Unit
  override fun close() = Unit

  override fun setListener(listener: (CaptureEvent) -> Unit) {
    this.listener = listener
  }

  fun emit(value: String, symbology: String? = "test") {
    listener?.invoke(CaptureEvent(value, symbology, Instant.now()))
  }
}

@Test
fun receiving_a_valid_barcode_updates_stock() {
  val scanner = FakeCapturePort()
  val workflow = ReceivingWorkflow(scanner)

  workflow.start()
  scanner.emit("SKU-001")

  assertEquals(ReceivingState.Accepted("SKU-001"), workflow.state)
}
ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。

SDK配布

公開ゲート

ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。

テストを実行するには実際のデバイスが必要です

ハードウェアのセットアップを小規模なアダプターのスモーク テストに移動し、偽のポートでドメイン ルールを維持します。

同じスキャンを2回受け付けます

明示的な重複イベントを追加し、状態遷移を 1 回アサートします。

空の値がリポジトリに到達する

正規化境界で拒否し、ユーザーが回復可能な状態を公開します。

証拠ステータス

方法、バージョン、制約を伴う比較可能な根拠。

  1. 01

    すべての CI ビルドで偽のアダプター テストを実行します。

  2. 02

    有効なケース、空のケース、重複したケース、サイズ超過のケース、および輸送失敗のケースをカバーします。

  3. 03

    デバイス固有のアダプターは 1 つのパッケージ境界の内側に配置してください。

  4. 04

    承認されたベースラインごとに個別に物理デバイスの煙テストを 1 つ実行します。

対象端末にアプリを接続して検証します。 受信ワークフローを変更せずに、承認されたスキャナー SDK を CapturePort に接続します。

資料

SDK・APIパターン

ベンダーのバイナリ、APIリファレンス、ファームウェア、ソースコード例は、再配布許可と対応範囲を記録してから公開します。

対象端末にアプリを接続して検証します。

機密情報を含まないアプリの業務フロー、現在の端末、連携方法を共有いただければ、最適な検証成果物の範囲を定めます。

アプリを接続して検証