Bir singleton sınıfını test etmenin zor olmasının nedeni her test için sınıfı yeniden başlatamamanızdır, çünkü yalnızca bir kez başlatılabilir (ve dolayısıyla her test için tüm değerleri doğru bir şekilde ayarlamanız için size çok iş verir).
Singleton'ı test etmek neden zor?
Singleton kullanan kodu test etmek zordur.
Singleton nesnesinin oluşturulmasını kontrol edemezsiniz çünkü genellikle statik bir başlatıcı veya statik yöntemle oluşturulur. Sonuç olarak, o Singleton örneğinin davranışıyla da dalga geçemezsiniz.
Singletons ile ilgili sorun nedir?
Singleton'lar birim testini engeller: Bir Singleton, nesne ve onunla ilişkili yöntemler çok sıkı bir şekilde bağlantılıysa, yazmadan test etmek imkansız hale gelirse, test edilebilir kod yazma için sorunlara neden olabilir Singleton'a adanmış tam işlevli bir sınıf.
Birim testinde singleton'un dezavantajları nelerdir?
Bir test kablo demetinde singleton içeren kodu çalıştırmak için singleton özelliğini gevşetmeliyiz. İşte bunu nasıl yapıyoruz. İlk adım, singleton sınıfına yeni bir statik yöntem eklemektir. Yöntem, singleton'daki statik örneği değiştirmemize izin verir.
Singleton neden birim testini engelliyor?
Birim testinde, birim testlerinin her biri birbirinden bağımsız olmalıdır. Singleton tasarım deseninin birim testinde hayatınızı zorlaştırmasının bir başka nedeni de çünkü uygulama canlı olana kadar bellekte kalırlar Bu nedenle, uygulama içinde kaldığı sürece bu durumda kalırlar. hafıza.