1

私は学生で、現在、キーボードで制御できるパックマン ゲームの単体テストを作成しようとしています。私がまだテストしようとしているクラスの 1 つは、KeyListenerから継承するクラスです。その理由は、 KeyPressed() 関数をテスト/呼び出す方法が見つからないためです。この投稿に記載されているように、プラグイン (例: groovy) なしで KeyPressed() を単体テストすることは可能ですか?

ゲームは Java で書かれており、JUnit を使用してテストしています。どんな助けでも大歓迎です!どうもありがとうございました。

4

1 に答える 1

0

KeyListenerは単なるインターフェースであるため、テストしたいメソッドを呼び出すだけでテストできます。不確かな部分の 1 つは、渡されるKeyEventです。これは具象クラスです。ただし、必要に応じて手動で独自のものを作成できる可能性は十分にあります (これは javadoc に基づいています)。

より具体的にする必要があります。何をテストしますか? プラグインとは何だと思いますか?mockitoはプラグインになりますか? これにより、ニーズに合わせて非常に簡単に作成できKeyEventます。

しかし、一般的にはより良い戦略があります: 実装に入れるコードはできるだけ少なくしますKeyListener。から必要なものだけを抽出しKeyEvent、ゲーム ロジックを含むクラスに渡します。これで、もう/多くをテストする必要さえなくなりましたKeyListener。呼び出すメソッドをテストするだけです。

于 2013-11-01T00:26:56.473 に答える