Herkese açık kaynaklar tekrarlanabilir entegrasyon modellerine odaklanır. Kısıtlı SDK'lar, donanım yazılımları ve belgeler onaylı dağıtım kanallarında kalır.
Yöntemleri, sürümleri ve sınırlamaları açıklanmış karşılaştırılabilir cihaz testleri.
- Normalleştirilmiş bir yakalama olayını tüketen bir etki alanı işlevi.
- Projede zaten çalışan bir test çerçevesi.
- Yinelenen, boş ve geçersiz değerlerde ne olması gerektiğine dair açık bir kural.
Yayıncılık standardı
Kurumsal Android entegrasyonlarını sürümlendirilmiş kanıtlarla oluşturun ve doğrulayın.
Herkese açık kaynaklar tekrarlanabilir entegrasyon modellerine odaklanır. Kısıtlı SDK'lar, donanım yazılımları ve belgeler onaylı dağıtım kanallarında kalır.
- 01
Cihaz sınıfına değil bağlantı noktanıza bağlı
Alıcı iş akışının CaptureEvent ve CapturePort hakkında bilgi sahibi olması gerekir. Bir tarayıcı yöneticisini, yayın sabitini veya modele özgü türü içe aktarmamalıdır.
- 02
Deterministik olayları yay
Sahte bağdaştırıcıya geçerli bir tarama, yinelenen tarama, boş değer ve arıza için açık yöntemler verin. Giriş operatör senaryosunu açıkladığında testler okunabilir hale gelir.
- 03
İş sonuçlarını iddia edin
Stok hareketini, doğrulama mesajlarını ve mükerrer işlemleri kontrol edin. Bir satıcı geri aramasının bir iş testinden çağrıldığını iddia etmeyin; Bu, donanım bağdaştırıcısı testine aittir.
- 04
Donanım testini küçük tutun
Bir cihaz mevcut olduğunda açma, tetikleme, kod çözme ve kapatma için odaklanmış bir duman testi yapın. Daha büyük iş akışı paketi hızlı ve cihaz gerektirmeden kalmalıdır.
Örnek uygulamalar / Kotlin
SDK ve API kalıpları
Orijinal test çifti. Bir satıcı sınıfı veya ikili dosya içermediğinden yayınlamak güvenlidir.
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 dağıtımı
Yayın kapısı
Yeniden dağıtım izni ve desteklenen kapsam kaydedilene kadar hiçbir üretici ikili dosyası, API referansı, ürün yazılımı veya kaynak kod örneği yayınlanmaz.
Donanım kurulumunu küçük bir adaptör duman testine taşıyın ve etki alanı kurallarını sahte bağlantı noktasında tutun.
Açıkça yinelenen bir olay ekleyin ve durum geçişini bir kez onaylayın.
Normalleştirme sınırında reddedin ve kullanıcı tarafından kurtarılabilir bir durumu ortaya çıkarın.
Kanıt durumları
Yöntemleri, sürümleri ve sınırlamaları açıklanmış karşılaştırılabilir cihaz testleri.
- 01
Her CI yapıda sahte adaptör testlerini çalıştırın.
- 02
Geçerli, boş, mükerrer, büyük boyutlu ve taşıma hatası durumlarını kapsar.
- 03
Cihaza özel adaptörü tek bir paket sınırının arkasında tutun.
- 04
Onaylanan her temel değer için ayrı ayrı bir fiziksel cihaz duman testi yapın.
Kaynaklar
SDK ve API kalıpları
Yeniden dağıtım izni ve desteklenen kapsam kaydedilene kadar hiçbir üretici ikili dosyası, API referansı, ürün yazılımı veya kaynak kod örneği yayınlanmaz.