Mockito ve Hamcrest ile çalışırken, diğer bazı kütüphaneler test yeteneklerinizi artırabilir. İşte bu kütüphanelerin bazılarına ayrıntılı bir genel bakış:
Junit
** Junit, Java için hem Mockito hem de Hamcrest ile iyi bütünleşen temel bir test çerçevesidir. Mockito'nun alay etme yetenekleri ve Hamcrest'in eşleştiricileri ile birlikte kullanılabilecek sağlam bir ek açıklama ve iddialar sunar. Özellikle Junit 5, parametreli testler ve iç içe testler için daha iyi destek gibi gelişmiş özellikler sunar, bu da onu kapsamlı birim testler yazmak için güçlü bir araç haline getirir.
PowerMock
** PowerMock, tek başına Mockito ile mümkün olmayan statik yöntemler, son sınıflar ve özel yöntemlerle alay etmenizi sağlayan Mockito (ve EasyMock) bir uzantısıdır. Bu, özellikle test edilebilirlik göz önünde bulundurularak tasarlanmayan eski kodu veya üçüncü taraf kütüphanelerle uğraşırken kullanışlıdır. Bununla birlikte, PowerMock daha karmaşık kabul edilir ve az miktarda kullanılmalıdır.
Jmock
** JMock, Java için Hamcrest ile birlikte kullanılabilecek başka bir alaycı kütüphane. Mockito kadar yaygın olarak kullanılmasa da, JMock sahte nesneler oluşturmak için kendi özellikleri sunar ve daha etkileyici iddialar için hamcrest ile entegre edilebilir.
EasyMock
** EasyMock, Hamcrest ile kullanılabilecek bir başka popüler alay çerçevesidir. Davranış odaklı gelişim (BDD) ilkelerine odaklanarak Mockito'ya kıyasla sahte nesneler oluşturmak için farklı bir yaklaşım sağlar. EasyMock, daha gelişmiş alay etme özellikleri için PowerMock ile birlikte kullanılabilir.
assertj
** AssertJ, iddiaları yazmak için akıcı bir API sağlayan bir iddia kütüphanesidir. Hamcrest'ten bağımsız olarak kullanılabilse de, AssertJ, geleneksel Junit iddialarına kıyasla daha okunabilir ve etkileyici bir iddialar sunar. Mockito ile birlikte alay ve daha karmaşık eşleşen senaryolar için hamcrest için kullanılabilir.
Bahar Testi
Yay tabanlı bir uygulama üzerinde çalışıyorsanız, Spring testi yay bileşenlerini test etmek için ek araçlar sağlar. Mockito ile iyi entegre olur ve hizmetler veya depolar gibi bahara özgü bileşenlerle alay etmek için kullanılabilir. Mockito için doğrudan bir yedek olmasa da, Spring Testi sunar, yay ekosistemine göre uyarlanmış özellikler.
Özetle, Mockito ve Hamcrest birim testi için güçlü bir kombinasyon oluştururken, JUNIT, PowerMock, Jmock, EasyMock, AssertJ ve Spring Testi gibi kütüphaneler, özel ihtiyaçlarınıza ve proje gereksinimlerinize bağlı olarak test özelliklerinizi daha da artırabilir.
Alıntılar:[1] https://www.lambdatest.com/automation-testing-dvisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockitohamcrest
[2] https://hamcrest.org/javahamcrest/tutorial
[3] https://www.javacodeeks.com/2015/11/hamcrest-catchers-tutorial.html
[4] https://www.infoworld.com/article/2257253/junit-5-tutorial-part-1-unit-testing-with-junit-5-mockito ve-hamcrest.html
[5] https://stackoverflow.com/questions/20441594/mockito- and-hamcrest-how-to-ifyfocation-of-collection-argument
[6] https://stackoverflow.com/questions/22697/whats-the-best-mock-framework-for-java
[7] https://tedvinke.wordpress.com/2013/12/17/Mixing-junit-hamcrest-and-mockito-splaining-nosuchmethoderror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest- Versiyon
[10] https://hamcrest.org/javahamcrest/distibutables