Flaky Test Hatasını Cypress Cloud JSON Verileriyle Çöz
Flaky test, bazen geçen, bazen başarısız olan test, çoğu yazılımcının kabusu. Ama aslında değerli bir fırsat: aynı test run içinde hem başarısız hem başarılı durumları kaydedilmiş oluyor. Bunları karşılaştırmak, sorunu bulmak için en kısa yol.
Cypress Cloud CLI (şu an Beta) test replay verilerini, network isteklerini ve console loglarını JSON olarak sunuyor. Böylece hangi adımda fark çıktığını görebiliyorsun.
İlk olarak global olarak kuruyorsun:
Sonra flaky testi bul. Aynı run içinde birden fazla attempt'i olan testleri sorguluyorsun:
1cy-cloud test list \2--projectId YOUR_PROJECT_ID \3--runNumber YOUR_RUN_NUMBER \4--status passed \5| jq '.tests[] | select((.attempts | length) > 1) | {testId, testName, attempts}'Bu komut, geçen ama birden fazla deneme yapılan testleri listeler, yani en az bir önceki attempt başarısız olmuş demektir. Şimdi her attempt'in JSON kayıtlarını indir ve karşılaştır: network hataları, timing sorunları, state değişiklikleri, console uyarıları.
Önemli: CLI Node.js 22.21.0 veya üstünü gerektiriyor. Beta olduğu için en son sürümle keşfet, ama CI/CD'de kullanacaksan doğrulanan versiyonu pin'le.
Flaky testler genellikle race condition, async bekleme hatası ya da ortam bağımlılığından kaynaklanır. JSON verileri bu farkları açıkça gösteriyor, yeniden çalıştırmak yerine bir kez daha çalışan testi incelemen çok daha verimli.
0 yorum