Javaの最良の分離フレームワークはどれですか? JMock、EasyMock、Mockito、またはその他?
-
27-09-2019 - |
質問
これは以前に尋ねられたことがありますが、最後は2008年半ばでした。
あなたが今新しいプロジェクトを始めていた場合、あなたはどれを使用しますか、そしてその理由は何ですか?読みやすさ、使いやすさ、保守性、全体的な堅牢性に関する彼らの長所/弱点は何ですか?
解決
私は以前にEasyMockを使用しましたが、今ではMockitoを使用しています。 EasyMockと比較して、Mockitoがよりシンプルであることがわかりました。 EasyMockとMockitoの詳細な比較については、参照できます ここ
他のヒント
私たちの動機を説明するために、JMockは「意見のある」図書館です。コラボレーションオブジェクト間のプロトコルに焦点を当てたOOデザインへのアプローチを導くように設計されています。そのようにあなたのシステムについて考えないなら、それはおそらくあなたの最良の選択肢ではありません。
私はしばらくの間EasyMockを使用しています。それらの困難な場所にもっと到達できるようにする新しい機能を追加し続けています。
Mockitoは、最も一般的なテストケースのコードの行をいくつか保存します。
モック機能のニーズ/優先順位について詳しく説明していただけますか?述べたように、かなり広い。
私の(偏った)答えはそうでしょう jmockit. 。他のモッキングツールキットとの迅速な比較については、 比較マトリックス.
記述されたテストコードは、より読みやすく、よりよく構造化される必要があります(並んで比較するためのテストの例があります)。 Jmockit Mocking APIは通常、同じテストを記述するために他のモッキングAPIよりも少ない「使用」を必要とします。最大の利点であるIMOは、テストされるコードの設計上の妥協案を強制しないことです。マイナス面として、JMockitはより高度な技術に依存しており、より多くの機能を備えているため、ユーザーが予期せぬ困難に遭遇する可能性も高くなります。