Bazı kayıtları okuyacak ve bunları bir veritabanına ekleyecek basit bir uygulama yazıyorum. Ekleme mantığını işleyen saklı bir yordam yazdım ve bunu ayrı ayrı test etmeyi planlıyorum. Şimdi, bir iş nesnesini alan ve saklı yordam çağrısı geçiren mantığın bölümü için iyi bir birim sınaması yazmak istiyorum.MySQL saklı yordamını çağıran Java'yı nasıl test etmeliyim?
Ben ne yapmak istiyorum çağrı beklenen parametre değerleri ile yapılır iddia sonra, veritabanı bağlantısının bir taklidini geçmesi olduğunu düşünüyorum : Ancak
Connection dbConnection = makeMockConnection(); // how?
MyObjectWriter writer = new MyObjectWriter(dbConnection);
writer.write(someSampleObject);
// somehow assert that dbConnection called
// `sp_saveMyObject` with param values x, y, and z
, bu işin çok gibi görünüyor java.sql.Connection
'un içinde kazın, nasıl çalıştığını anlayın, sonra tüm sonuçları alay edin. Bütün bunları benim için yapan bir test kütüphanesi var mı? Buna yanlış yoldan mı geliyorum?
Bir yöntem çağrılıp çağrılmadığını kontrol etmek için bağlantıyı yapmak gerçekten çok kolay. [Mockito] (http://code.google.com/p/mockito/) – Kai
ile aşina olmalıyım İş mantığını belirli bir şekilde çalıştırmaktan kaçınmaya çalışıyorum - 'Connection.createStatement' diyebilirim ya da 'Connection.prepareStatement' veya' Connection.prepareCall' veya 'Connection.nativeSql', bunlardan biri * doğru * (veriler veriye geçtiğinden). Bu şeylerin hepsinden * çıkmamayı veya en azından bu alayları kendim yazmamdan kaçınmaya çalışıyorum. – Coderer