Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon VeriferzeroInctions, Mockito'daki diğer doğrulama yöntemlerinden nasıl farklıdır?


VeriferzeroInctions, Mockito'daki diğer doğrulama yöntemlerinden nasıl farklıdır?


Mockito'da, `` VeriferoInteractions '', bir test sırasında alaycı bir nesnede hiçbir yöntem çağrısı yapılmamasını sağlamak için kullanılan özel bir doğrulama yöntemidir. Bu yöntem, mantık veya gereksiz bağımlılıklardaki kusurları gösterebilecek istenmeyen etkileşimleri önleyerek birim testlerin saflığını korumak için çok önemlidir.

Diğer doğrulama yöntemlerinden farklılıklar

1. Amaç ve Davranış:
- `VeriferoInteractions`: Bu yöntem, alaycı bir nesne üzerinde hiçbir yöntem çağrısı yapılmadığını kontrol eder. Herhangi bir yöntem çağrısı tespit edilirse, Mockito bir istisna atar ve testin başarısız olmasına neden olur. Test uygulaması sırasında bir sahte nesnenin dokunulmadığını iddia etmek için kullanılır [1] [4].
- `Verify`: Bu yöntem, belirli yöntem çağrılarının beklendiği gibi meydana geldiğini doğrulamak için kullanılır. Bir yöntemin belirli bağımsız değişkenlerle çağrılıp çağrılmadığını kontrol etmenizi sağlar ve invokasyon sayısını belirtmek için `times ()` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` gibi çeşitli doğrulama modları ile kullanılabilir [2] [7].

2. Doğrulama modları:
- `VerifyZeroInctionlar 'doğrulama modlarını desteklemez. Sadece herhangi bir etkileşimin yokluğunu kontrol eder.
- `Doğrulama ',` times () `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `Bir yöntem ()' 'i, bir yöntemin kaç kez adlandırılması gerektiğini belirlemenize izin veren birden fazla doğrulama modunu destekler [2] [7].

3. Çağırma sırası:
- `VeriferZeroInctionlar ', hiçbir etkileşim olup olmadığını kontrol etmediği için yöntem çağrılarının sırasıyla ilgilenmez.
- Mock nesnelerinde yöntem çağrılarının sırasını doğrulamak için `` doğrulama '' ile kullanılabilir. Bu, yöntem çağrıları dizisi önemli olduğunda yararlıdır [2] [7].

4. Kullanım durumları:
- `` VeriferoInteractions '', bir sahte nesnenin bir test senaryosunda hiç kullanılmamasını istediğinizde kullanılır. Bu, test edilen ünitenin izole edilmesine ve beklenmedik etkileşimlerden dolayı hiçbir yan etkinin gerçekleşmesini sağlamaya yardımcı olur [1] [4].
- `Doğrulama ', nesneler arasında belirli etkileşimlerin meydana geldiğini doğrulamanız gereken senaryolarda kullanılır. Test altındaki bir sistemin beklenen davranışını test etmek için gereklidir [2] [7].

5. `VerifyNomoreInteractions 'ile ilişki:
- `VerinyZeroInctionlar 'hiçbir etkileşimin gerçekleşmediğini kontrol eder.
- `VerifyNomoreInteractions ', sahte bir nesnedeki tüm etkileşimlerin doğrulandığını kontrol eder. Belirli yöntem çağrıları için `` doğrulama '' kullanıldıktan sonra doğrulanmamış etkileşimlerin kalmamasını sağlar [3] [9].

Özetle, `` VeriferoInction '', hiçbir etkileşimin gerçekleşmesini sağlamaya odaklanan özel bir yöntemdir, `` Verify '' daha çok yönlüdür, bu da belirli etkileşimleri ve frekanslarını kontrol etmenizi sağlar. Her iki yöntem de Mockito ile birim testinde gereklidir ve test senaryosuna bağlı olarak farklı amaçlar sunmaktadır.

Alıntılar:
[1] https://www.dhiwise.com/post/how-to-use-ferifyzerointeractions-for-Better-flutter-tests
[2] https://www.dhiwise.com/post/mastering-unit-testing-a-complet-guide-to-mockito-ferify
[3] https://stackoverflow.com/questions/52396683/difference-beton-inifyNomoreInteractions-and-ferifyZeroInctions-in-in
[4] https://www.lambdatest.com/automation-testing-dvisor/selenium/methods/org.mockito.mockito.Verifyzerointeractions
[5] https://stackoverflow.com/questions/64239160/using-mockito-when-to-mock-and-ferify-vs-mockitourify
[6] https://www.javacodeeks.com/2015/11/mockito-fürifikasyon.html
[7] https://www.toptal.com/java/a-guide-to-emveryday-mockito
[8] https://www.baeldung.com/mockito-ferify
[9] https://www.digitalocean.com/community/tutorials/mockito-ferify