🛠️ Gerçek Hayat — Git İş Akışları ve Code Review
Gerçek Hayat — Git İş Akışları ve Code: İki QA mühendisini, Ada ve Sam'i düşün — ikisi de aynı hafta aynı "orders" servisi için API testleri düzenliyor.
İki QA mühendisini, Ada ve Sam'i düşün — ikisi de aynı hafta aynı "orders" servisi için API testleri düzenliyor. Bruno ile değişiklikleri sadece iki Git branch'idir — aynı dosyaya dokunurlarsa, Git herhangi bir kod conflict'i gibi normal bir merge conflict gösterir ve onlar bunu çözer. Buluta senkronize bir araçla, kim son kaydederse, ekipte ayrı bir manuel koordinasyon süreci yoksa diğerinin değişikliklerini sessizce ezebilir.
API Testleri Kodun Yanında Yaşıyor
Tipik bir kurulumda, bir backend repo'sunun tests/api/ klasöründe, test ettiği kaynak kodun tam yanında bir Bruno collection'ı bulunur. Bir backend developer bir field'ı yeniden adlandırdığında veya status code'u değiştirdiğinde, etkilenen endpoint'in .bru dosyaları aynı pull request'te oturur — reviewer, "biri Postman'da bir yerde güncelleme yaptı" diye güvenmek yerine API değişikliğini VE test değişikliğini birlikte görür.
Gerçek Bir Pull Request — Merge'den Önce Breaking Change'i Yakalamak
API Değişiklikleri İçin Code Review
Bu, Temel Kavramlar sekmesindeki her şeyin pratik kazancıdır: .bru dosyası düz metin olduğu için GitHub/GitLab tam bir diff render eder — kırmızı satır silinmiş, yeşil satır eklenmiş — tam olarak bir kod değişikliği gibi. Bruno uygulamasını hiç açmamış bir reviewer bile "bu test artık userName yerine user_name bekliyor" satırını okuyup değişikliğin etki alanını anında kavrayabilir, prod'a ulaşmadan önce "mobil uygulama da bu rename için güncellendi mi?" diye sorabilir.
🎬 git push'tan bru run'a: CI Bir Koleksiyonu Nasıl Çalıştırır?
GitHub Actions Runner
bru run --env staging
Geliştirici, hem backend kodunu hem de ilgili .bru koleksiyonunu içeren bir commit'i push'lar. Aynı pull request'te ikisi de var.
Adım 1 — GitHub Actions, pull_request event'ini yakalar ve temiz bir ubuntu-latest runner ayağa kaldırır. Bu runner'da HİÇBİR önceki state yoktur.
Adım 2 — checkout adımı .bru dosyalarını da çeker (onlar da sadece kod), sonra `npm install -g @usebruno/cli` CLI'yi kurar.
Adım 3 — `bru run --env staging --reporter-junit results.xml` tüm koleksiyonu terminalden çalıştırır — GUI'ye hiç ihtiyaç yok.
Adım 4 — her assertion geçerse exit code 0 döner, deploy gate açılır ve PR merge edilebilir hale gelir.