Konten teknis adalah bagian inti RuggedLayer. Dokumentasi publik berfokus pada pola integrasi yang dapat direproduksi, sedangkan materi produsen dengan akses terbatas tetap berada di jalur distribusi yang disetujui.
Hasil uji perangkat yang dapat dibandingkan, lengkap dengan metode, versi, dan batasan.
- Fungsi domain yang menggunakan peristiwa penangkapan yang dinormalisasi.
- Kerangka pengujian sudah berjalan di proyek.
- Aturan yang jelas tentang apa yang harus terjadi dengan nilai duplikat, kosong, dan tidak valid.
Standar penerbitan
Bangun dan validasi integrasi Android perusahaan dengan bukti berversi.
Konten teknis adalah bagian inti RuggedLayer. Dokumentasi publik berfokus pada pola integrasi yang dapat direproduksi, sedangkan materi produsen dengan akses terbatas tetap berada di jalur distribusi yang disetujui.
- 01
Tergantung pada port Anda, bukan kelas perangkat
Alur kerja penerima harus mengetahui tentang CaptureEvent dan CapturePort. Itu tidak boleh mengimpor manajer pemindai, konstanta siaran, atau tipe khusus model.
- 02
Memancarkan peristiwa deterministik
Berikan metode eksplisit pada adaptor palsu untuk pemindaian yang valid, pemindaian duplikat, nilai kosong, dan kegagalan. Pengujian menjadi dapat dibaca ketika masukan menjelaskan skenario operator.
- 03
Tegaskan hasil bisnis
Periksa pergerakan stok, pesan validasi dan penanganan duplikat. Jangan menyatakan bahwa panggilan balik vendor dipanggil dari pengujian bisnis; yang termasuk dalam pengujian adaptor perangkat keras.
- 04
Jaga agar pengujian perangkat keras tetap kecil
Jika perangkat tersedia, jalankan uji asap terfokus untuk membuka, memicu, mendekode, dan menutup. Rangkaian alur kerja yang lebih besar harus tetap cepat dan bebas perangkat.
Contoh aplikasi / Kotlin
Pola SDK dan API
Tes asli ganda. Aman untuk dipublikasikan karena tidak menyertakan kelas vendor atau biner.
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)
}Distribusi SDK
Gerbang publikasi
Tidak ada biner vendor, referensi API, firmware, atau sampel sumber yang dipublikasikan hingga izin redistribusi dan cakupan yang didukungnya dicatat.
Pindahkan pengaturan perangkat keras ke dalam tes asap adaptor kecil dan pertahankan aturan domain pada port palsu.
Tambahkan peristiwa duplikat eksplisit dan tegaskan transisi status satu kali.
Tolak pada batas normalisasi dan tampilkan keadaan yang dapat dipulihkan oleh pengguna.
Klasifikasi bukti
Hasil uji perangkat yang dapat dibandingkan, lengkap dengan metode, versi, dan batasan.
- 01
Jalankan pengujian adaptor palsu pada setiap build CI.
- 02
Mencakup kasus yang valid, kosong, duplikat, terlalu besar, dan kegagalan pengangkutan.
- 03
Simpan adaptor khusus perangkat di belakang satu batas paket.
- 04
Jalankan satu pengujian asap perangkat fisik secara terpisah untuk setiap baseline yang disetujui.
Sumber daya
Pola SDK dan API
Tidak ada biner vendor, referensi API, firmware, atau sampel sumber yang dipublikasikan hingga izin redistribusi dan cakupan yang didukungnya dicatat.