Her seferinde kendimi test yerleştirme konusunu kontrol ederken buluyorum ve çoğunluk kütüphane kodunun yanında ayrı bir klasör yapısı önerdiğinde, ancak argümanların her seferinde aynı ve ikna edici olmadığını görüyorum. Sonunda test modülümü çekirdek modüllerin yanında bir yere koyuyorum.
Bunu yapmanın ana nedeni: yeniden düzenleme .
Bir şeyleri hareket ettirdiğimde test modüllerinin kodla birlikte hareket etmesini istiyorum; ayrı bir ağaçtalarsa testleri kaybetmek kolaydır. Dürüst olalım, er ya da geç django , flask ve diğerleri gibi tamamen farklı bir klasör yapısı ile sonuçlanırsınız . Umursamıyorsan iyi olur.
Kendinize sormanız gereken ana soru şudur:
Yazıyor muyum:
- a) yeniden kullanılabilir kütüphane veya
- b) Bazı yarı ayrılmış modülleri bir araya getirerek bir proje oluşturmak?
Eğer bir:
Ayrı bir klasör ve yapısını korumak için fazladan çaba daha uygun olabilir. Hiç kimse testlerin üretime alınmasından şikayet etmeyecek .
Ancak, çekirdek klasörlerle karıştırıldığında testlerin dağıtılmasını engellemek de kolaydır; bunu setup.py dosyasına koyun :
find_packages("src", exclude=["*.tests", "*.tests.*", "tests.*", "tests"])
B ise:
Her birimizin yaptığı gibi, yeniden kullanılabilir kütüphaneler yazmanızı isteyebilirsiniz, ancak çoğu zaman yaşamları projenin hayatına bağlıdır. Projenizi kolayca devam ettirebilmek bir öncelik olmalıdır.
Daha sonra iyi bir iş yaptıysanız ve modülünüz başka bir proje için uygunsa, muhtemelen bu yeni projeye kopyalanır - çatallanamaz veya ayrı bir kütüphaneye dönüştürülmez ve aynı klasör yapısında yan yana duran testler taşınır. ayrı bir test klasörü haline gelmiş bir karmaşa içinde balıkçılık kadar kıyasla kolaydır. (İlk etapta karışıklık olmaması gerektiğini savunabiliriz, ama burada gerçekçi olalım).
Bu yüzden seçim hala sizindir, ancak karışık testlerle ayrı bir klasörle aynı şeyleri elde ettiğinizi, ancak işleri düzenli tutmak için daha az çaba harcadığınızı iddia ediyorum.