При работе с Mockito и Hamcrest несколько других библиотек могут расширить ваши возможности тестирования. Вот подробный обзор некоторых из этих библиотек:
junit
** Junit - это фундаментальная структура тестирования для Java, которая хорошо интегрируется как с Mockito, так и с Hamcrest. Он предоставляет надежный набор аннотаций и утверждений, которые можно использовать в сочетании с смешными возможностями Мокета и маттерами Хамреста. В частности, 5 Junit 5 предлагает улучшенные функции, такие как параметризованные тесты и лучшая поддержка вложенных тестов, что делает его мощным инструментом для написания комплексных модульных тестов.
powermock
** PowerMock - это расширение Mockito (и EasyMock), которое позволяет издеваться над статическими методами, окончательными классами и частными методами, которые невозможны только с Mockito. Это особенно полезно при работе с устаревшим кодом или сторонними библиотеками, которые не разработаны с учетом тестируемости. Тем не менее, PowerMock считается более сложным и должен использоваться экономно.
jmock
** Jmock - еще одна издевательная библиотека для Java, которую можно использовать вместе с Hamcrest. Хотя он не так широко используется, как Mockito, Jmock предоставляет свой собственный набор функций для создания макетных объектов и может быть интегрирован с Hamcrest для более выразительных утверждений.
easymock
** EasyMock - еще одна популярная смешная структура, которую можно использовать с Hamcrest. Он обеспечивает другой подход к созданию фиктивных объектов по сравнению с Mockito, сосредоточенным на принципах развития (BDD), ориентированных на поведение. EasyMock можно использовать в сочетании с PowerMock для более продвинутых смешных возможностей.
assertj
** ASSERTJ - это библиотека утверждений, которая обеспечивает беглую API для написания утверждений. Хотя его можно использовать независимо от Hamcrest, AssertJ предлагает более читаемый и выразительный способ письма по сравнению с традиционными утверждениями JUNIT. Его можно использовать вместе с Mockito для насмешек и Hamcrest для более сложных сценариев сопоставления.
Весенний тест
Если вы работаете над приложением на основе пружины, Spring Test предоставляет дополнительные инструменты для тестирования компонентов Spring. Он хорошо интегрируется с Mockito и может использоваться для издевательства с пружиной компонентов, таких как услуги или репозитории. Хотя это не является прямой заменой Mockito, Spring Test предлагает функции, адаптированные к экосистеме Spring.
Таким образом, в то время как Mockito и Hamcrest образуют мощную комбинацию для модульного тестирования, такие библиотеки, как Junit, PowerMock, Jmock, EasyMock, AssertJ и Spring Test, могут еще больше улучшить ваши возможности для тестирования в зависимости от ваших конкретных потребностей и требований к проекту.
Цитаты:[1] https://www.lambdatest.com/automation-testing-advisor/selenium/methods/org.mockito.hamcrest.mockitohamcrest.mockitohamcrest
[2] https://hamcrest.org/javahamcrest/tutorial
[3] https://www.javacodegeeks.com/2015/11/hamcrest-matchers-tutorial.html
[4] https://www.infoworld.com/article/2257253/junit-5-tutorial-part-1-unit-testing-with-junit-5-mockito-and-hamcrest.html
[5] https://stackoverflow.com/questions/20441594/mockito-and-hamcrest-how-to-verify-invocation-ofcolection-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-explaining nosuchmethoderror/
[8] https://github.com/mockito/mockito/issues/324
[9] https://stackoverflow.com/questions/18770943/mockito-junit-hamcrest-versioning
[10] https://hamcrest.org/javahamcrest/distributables