Kısa bir süre önce Scala'da programlama yapmaya başladım. Birbirini arayan sınıf hiyerarşisi olan bir projem var. Sonunda, bir tanesi MySQL'de saklı bir prosedürü çağıran bir singleton DAL (Veri Erişim Katmanı) nesnesi çağırır.Tek bir nesneye alay etmek için Scala'daki alaylarda nasıl kullanılır?
aşağıdaki imzası ile bir DAL nesnesi vardır:
def callStoredProcedure(procName: String, params: Array[String]): Boolean
Ben üst düzey sınıfının işlevini çağıran bir test yazmak ister ve procName
geçildi ne denetler ediyorum işlevi.
DAL nesnesi için alay oluşturma hakkında nasıl giderim? Proses boru hattına nasıl enjekte edebilirim ya da singleton'u çağırmak yerine prosedür ismini veren bir alayla değiştirmenin daha iyi bir yolu var mı?
Şu anda Mockito kullanıyoruz, ama her şeye açıktır.
o yardım, Nasıl isteyebilir eğer yerine Sınıfınızda bir parametre olun ? Depolanmış proc adını, aslında çağrılmadan almak istiyorum. Casusluk bunu yapmayacak. Mocking hala tüm katmanlarda bir enjeksiyon gerektirecektir. Yanlışsam düzelt? –
Evet, gerçekten 'alay [DAL.type]', Dima'nın size gösterdiği gibi bir özellik ile uğraşmak zorunda kalmadan enjeksiyon gerektirecektir. casusluk (DAL) 'aslında aslında sizin için uygun değildir, çünkü aslında işlevi hesaplayacaktır. Cevabımı düzenliyorum. – Joan