Bu iki bildiride mockito'daki fark nedir?Mockito @Spy ve @Mock arasındaki farklar (answer = Answers.CALLS_REAL_METHODS)
@Mock(answer = Answers.CALLS_REAL_METHODS)
ArrayList<String> mock;
@Spy
ArrayList<String> spy;
Bu iki bildiride mockito'daki fark nedir?Mockito @Spy ve @Mock arasındaki farklar (answer = Answers.CALLS_REAL_METHODS)
@Mock(answer = Answers.CALLS_REAL_METHODS)
ArrayList<String> mock;
@Spy
ArrayList<String> spy;
Eski CALLS_REAL_METHODS stili, başlatılmamış bir nesne oluşturur; hiçbir kurucu çalıştırılmamış ve hiçbir alan ayarlanmamıştır. Genel olarak bu sözdizimi güvensizdir, çünkü gerçek uygulamalar geçersiz veya imkansız bir durum oluşturabilecek başlatılmamış alanlarla etkileşime girer.
Son @Spy stili, istediğiniz bir kurucuyu çağırmanızı sağlar veya Mockito, try to call a no-arg constructor if the field is uninitialized olacaktır. Alanlar daha sonra daha güvenli ve daha gerçekçi etkileşimlere olanak tanıyan oluşturulmuş bir Spy'a (casusluk türünü genişleten) kopyalanır.
Zorunlu hatırlatma: oyuncak örnekler dışında aslında sahte Java koleksiyonları yapın ve casuslar geçersiz kılmak için doReturn
sözdizimi kullanmayı unutmayın ve CALLS_REAL_METHOD alay illâ when
çağrı içinde gerçek yöntemini arayacağım .