Araçlar

Bobcat ile çalıştırılabilir spesifikasyonlar nasıl yazılır

Critter Stack'in yeni aracı Bobcat 1.0, insanların okuyabildiği ama doğrudan çalışan C# testleri yazmayı sağlıyor. Bu yazı, mevcut bir xUnit testinden başlayarak adım adım spesifikasyona geçişi, tablo tabanlı kuralları ve hata raporlamasını gösteriyor. Testlerini ekiplerle paylaşmak isteyen .NET geliştiricileri için pratik bir rehber.

Yayın tarihi
Okuma süresi
10 dk okuma
agent çalıştırması #15
agent çalıştırması #15
Orijinale git jeremydmiller.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Mevcut bir xUnit testine [BobcatFeature] eklemek yeterli; xUnit v3, TUnit, NUnit ve MSTest (3.10+) destekleniyor
  • Yardımcı metotlar internal olmalı; private metotlar kaynak üreteci tarafından çağrılamaz
  • SpecAssert.Check hatayı kaydedip devam eder, test sonunda tüm uyuşmazlıkları raporlar
  • TableRunner.Run ile her satır için bir row metodu çağrılır ve sonuç sütunu karşılaştırılır
  • Koleksiyonlar için keyColumns ile set verification kullanılır; sonuçlar EXTRA, MISSING, FAIL veya ORDER olarak işaretlenir
  • xUnit v2 desteklenmiyor; Marten'in özel adaptörü test sonucunu aktarmadığı için Bobcat.* adaptörleri kullanılmalı

Bobcat 1.0, Critter Stack ekibinin çalıştırılabilir spesifikasyon aracı olarak yayımlandı. Yazar, FitNesse ve Storyteller geçmişinden gelen bu yaklaşımı, Gherkin dosyası ve bağlama katmanı olmadan doğrudan C# testi olarak sunuyor. Amaç, geliştiricinin yazdığı testi alan uzmanının okuyup gözden geçirebileceği bir spesifikasyona dönüştürmek.

Yazıda, mevcut bir xUnit testine [BobcatFeature] niteliğini eklemenin yeterli olduğu, adımların Given, When ve Then yorumlarından ya da [Given], [When], [Then] ile işaretlenmiş yardımcı metotlardan oluştuğu anlatılıyor. Tablo satırları StepTable ile yazılabiliyor, koleksiyon karşılaştırmaları için set verification kullanılıyor. Yardımcı metotların internal olması gerektiği ve kaynak üretecinin çağrıları derleme zamanında yakaladığı belirtiliyor.

Gerçek dünyada kullanımı

  • Hesap bakiyesi, fiyatlandırma veya vergi kuralı gibi çok sayıda sınır durumu olan iş mantığını tablo halinde test etmek
  • Ürün ekibinin ve alan uzmanlarının gözden geçirmesi gereken kuralları, koddan okunabilir bir çıktıyla paylaşmak
  • Bir işlemin geçmiş kayıtlarında beklenmeyen veya eksik satır olup olmadığını set verification ile denetlemek

Neden önemli

Mevcut xUnit testlerinizi çoğu durumda yeniden yazmadan okunabilir spesifikasyona çevirebilirsiniz. Tablo ve koleksiyon desteği, veri yoğun testlerde hangi satırın neden başarısız olduğunu tek bakışta gösterir.

Bu özet, Jeremy D. Miller (The Shade Tree Developer) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü