Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MockitoやHamcrestとうまく統合する他のライブラリはありますか


MockitoやHamcrestとうまく統合する他のライブラリはありますか


MockitoとHamcrestを使用すると、他のいくつかのライブラリがテスト機能を強化できます。これらのライブラリのいくつかの詳細な概要を次に示します。

junit

** Junitは、MockitoとHamcrestの両方とうまく統合するJavaの基本的なテストフレームワークです。 Mockitoのモッキング機能とHamcrestのマッチャーと組み合わせて使用​​できる、堅牢な注釈とアサーションのセットを提供します。特に、Junit 5は、パラメーター化されたテストやネストされたテストのより良いサポートなどの改善された機能を提供し、包括的な単体テストを作成するための強力なツールになります。

PowerMock

** PowerMockは、Mockito(およびEasyMock)の拡張であり、静的メソッド、最終クラス、およびプライベートメソッドをモックすることができます。これは、Mockitoだけでは不可能です。これは、テスト可能性を念頭に置いて設計されていないレガシーコードまたはサードパーティライブラリを扱う場合に特に役立ちます。ただし、PowerMockはより複雑であると見なされ、控えめに使用する必要があります。

jmock

** JMockは、Javaのもう1つのモッキングライブラリであり、Hamcrestと一緒に使用できます。 Mockitoほど広く使用されていませんが、Jmockはモックオブジェクトを作成するための独自の機能セットを提供し、より表現力のあるアサーションのためにHamcrestと統合できます。

EasyMock

** EasyMockは、Hamcrestで使用できるもう1つの人気のあるモッキングフレームワークです。 Mockitoと比較して模擬オブジェクトを作成するための異なるアプローチを提供し、行動主導の開発(BDD)の原則に焦点を当てています。 EasyMockは、より高度なモッキング機能のためにPowerMockと組み合わせて使用​​できます。

Super Savings on Servers!

Ad

assertj

** AssertJは、アサーションを書くための流fluent APIを提供するアサートライブラリです。 Hamcrestとは独立して使用できますが、Assertjは、従来のJunitの主張と比較して、より読みやすく表現力のある主張を書く方法を提供します。モッキートとハムクレストのためにモッキートと並んで使用できます。

##春のテスト

Springベースのアプリケーションに取り組んでいる場合、Spring TestはSpringコンポーネントをテストするための追加のツールを提供します。 Mockitoとうまく統合され、サービスやリポジトリなどのスプリング固有のコンポーネントをモックするために使用できます。 Spring Testは、Mockitoの直接代替品ではありませんが、Springエコシステムに合わせた機能を提供しています。

要約すると、MockitoとHamcrestはユニットテストのための強力な組み合わせを形成しますが、Junit、PowerMock、Jmock、EasyMock、AssertJ、Springテストなどのライブラリは、特定のニーズとプロジェクトの要件に応じてテスト機能をさらに強化できます。

引用:
[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-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-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