공개 자료는 재현 가능한 통합 패턴에 집중하며 제한된 제조사 SDK는 승인된 배포 경로에 둡니다.
방법, 버전과 한계를 포함한 비교 가능한 장치 근거.
- 정규화된 캡처 이벤트를 사용하는 도메인 함수입니다.
- 프로젝트에서 이미 실행 중인 테스트 프레임워크입니다.
- 중복되거나 비어 있거나 유효하지 않은 값이 있을 때 발생하는 상황에 대한 명확한 규칙입니다.
게시 기준
버전별 근거로 기업용 Android 통합을 구축하고 검증하세요.
공개 자료는 재현 가능한 통합 패턴에 집중하며 제한된 제조사 SDK는 승인된 배포 경로에 둡니다.
- 01
장치 클래스가 아닌 포트에 따라 다름
수신 워크플로는 CaptureEvent 및 CapturePort에 대해 알고 있어야 합니다. 스캐너 관리자, 브로드캐스트 상수 또는 모델별 유형을 가져오면 안 됩니다.
- 02
결정적 이벤트 방출
유효한 스캔, 중복 스캔, 빈 값 및 실패에 대한 명시적인 메소드를 가짜 어댑터에 제공하십시오. 입력이 운영자 시나리오를 설명하면 테스트를 읽을 수 있게 됩니다.
- 03
비즈니스 성과 주장
재고 이동, 검증 메시지 및 중복 처리를 확인하세요. 공급업체 콜백이 비즈니스 테스트에서 호출되었다고 주장하지 마세요. 이는 하드웨어 어댑터 테스트에 속합니다.
- 04
하드웨어 테스트를 작게 유지하세요
장치를 사용할 수 있는 경우 열기, 트리거, 디코딩 및 닫기에 대한 집중 연기 테스트를 실행하세요. 더 큰 워크플로 제품군은 빠르고 장치가 없어야 합니다.
샘플 앱 / Kotlin
SDK 및 API 패턴
원래 테스트 더블. 공급업체 클래스나 바이너리가 포함되어 있지 않으므로 게시해도 안전합니다.
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)
}SDK 배포
게시 기준
재배포 권한과 지원 범위가 기록되기 전에는 제조사 바이너리, 펌웨어 또는 샘플을 공개하지 않습니다.
하드웨어 설정을 소규모 어댑터 스모크 테스트로 이동하고 가짜 포트에 도메인 규칙을 유지합니다.
명시적인 중복 이벤트를 추가하고 상태 전환을 한 번 어설션합니다.
정규화 경계에서 거부하고 사용자가 복구 가능한 상태를 노출합니다.
근거 상태
방법, 버전과 한계를 포함한 비교 가능한 장치 근거.
- 01
모든 CI 빌드에서 가짜 어댑터 테스트를 실행하세요.
- 02
유효한 경우, 비어 있는 경우, 중복된 경우, 크기가 큰 경우, 운송 실패 사례를 처리합니다.
- 03
하나의 패키지 경계 뒤에 장치별 어댑터를 유지합니다.
- 04
승인된 모든 기준에 대해 개별적으로 하나의 물리적 장치 연기 테스트를 실행합니다.
자료
SDK 및 API 패턴
재배포 권한과 지원 범위가 기록되기 전에는 제조사 바이너리, 펌웨어 또는 샘플을 공개하지 않습니다.