Şu anki işim çoğunlukla üzerinde çalıştığımız çeşitli uygulamalar için GUI test kodu yazıyor. Ancak, ben testler içine bir sürü kod kopyalama ve yapıştırma eğiliminde olduğunu bulmak. Bunun nedeni, test ettiğim alanların tekrarlamaya ihtiyaç duyacak kadar benzer olmaları, ancak kodu yöntemlere veya nesnelere kapsüllemek için yeterince benzer olmalarıdır. Sınıfları veya yöntemleri daha kapsamlı kullanmaya çalıştığımda, testlerin sürdürülmesi daha zahmetli ve bazen de yazmanın açıkça zor olduğunu görüyorum.
Bunun yerine, genellikle bir bölümden büyük miktarda test kodu kopyalayıp başka bir bölüme yapıştırıyorum ve ihtiyacım olan küçük değişiklikleri yapıyorum. Daha fazla OO ilkesi veya işlevi kullanmak gibi daha yapısal kodlama yolları kullanmıyorum.
Test kodları yazarken diğer kodlayıcılar bu şekilde hissediyor mu? Açıkçası DRY ve YAGNI ilkelerini takip etmek istiyorum, ancak test kodunun (yine de GUI testi için otomatik test kodu) bu ilkeleri takip etmeyi zorlaştırabileceğini düşünüyorum. Yoksa sadece daha fazla kodlama pratiğine ve daha iyi bir genel iş yapma sistemine mi ihtiyacım var?
EDIT: Kullandığım araç, 4Test adlı özel bir dilde olan SilkTest. Ayrıca, bu testler çoğunlukla Windows masaüstü uygulamaları içindir, ancak bu kurulumu kullanarak web uygulamalarını da test ettim.