プレイヤーが抽象クラスにアクセスし、それを拡張してロボットの動作を制御するプログラミング ゲームを開発しています。これはプログラミング ゲームであるため、ゲーム インフラストラクチャを保護して、プレイヤーがクラスだけでなくゲームを台無しにしないようにしています。このため、ほとんどのクラスを作成していfinal
ますが、ユニットテスト (mockito + testNG) でそれらをモックすることはできません。
だから私は疑問に思っていました、どうすればこれを回避できますか?クラスをテスト用に非最終のままにしてfinal
、ビルドサイクルの後の段階で自動的に「-ize」する方法はありますか(回答に関連する場合に備えてmavenを使用しています)。別の外部ライブラリを追加したり、モッキング ライブラリを変更したりしたくありません。
それが不可能な場合は、2 つ目の質問があります。クラスfinal
を本当に安全にしているのか? バイトコードから分類子を削除できるいくつかのライブラリを見たので、既にコンパイルされたクラスから削除できる場合はfinal
おそらく役に立たないと思いますfinal