Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Message Queue Kodunu Test Etmek: Testcontainers, MassTransit Test Harness ve Contract Testleri
Mantığı broker'dan ayırıp unit test et, broker davranışını Testcontainers ile gerçek RabbitMQ'da dene, beklemeyi Task.Delay ile değil sinyal ve sınırlı polling ile çöz. MassTransit test harness'ı, negatif assert'in hareketsizlik maliyeti, Total→TotalAmount değişikliğinin varsayılan JSON ayarlarıyla sessizce 0'a dönmesi ve .NET 10'da xUnit v3 için gereken Microsoft.Testing.Platform ayarı.
Client Sürüm Geçişleri: RabbitMQ.Client 6→7 (IModel'dan IChannel'a) ve MassTransit 8→9
RabbitMQ.Client 7'ye geçiş ilk derlemede 5, ikinci dalgada 10 hata verdi; asıl riskler derleyicinin göstermediği body ömrü, timeout'un iptale dönmesi ve eşzamanlılık. RabbitMQ 4.x'te mirroring policy'sinin reddi, queue tipi uyuşmazlığı, AMQP 1.0 client'ı, MassTransit 9'un lisanssız açılmaması ve v8 desteğinin 31 Aralık 2026'da bitmesi, eski Service Bus SDK'sının karşılıkları.