Apache MINAに基づいたプロトコルプロジェクト用のテストプラットフォームを作成しています。パケットを受信したMINAでは、messageReceived()
メソッドはObjectを取得します。理想的には、JUnitメソッドassertClass()
を使用したいと思いますが、存在しません。私は私が得ることができる最も近いものを解決しようとしています。 instanceof
と似たようなものを見つけようとしています。JUnitでassertClass()メソッドを作成する
現在、私は持っている:
public void assertClass(String msg, Class expected, Object given) {
if(!expected.isInstance(given)) Assert.fail(msg);
}
この呼び出すには:これは、しかし、実験と、この私の興味はinstanceof
オペレータがピークに達したと一緒に遊んで、問題なく動作します
assertClass("Packet type is correct", SomePacket.class, receivedPacket);
を。
if (receivedPacket instanceof SomePacket) { .. }
instanceofはどのようにしてSomePacket
を使用して手元のオブジェクトを参照できますか?それはオブジェクトのインスタンスではなく、クラスではありません、それは何ですか?その時点でタイプSomePacket
を設定したらassertClass()
にSomePacket.class
引数を含める必要はなく、代わりにSomePacket
を優先させることができますか?
ありがとう!私はそれが私が思った通りだと思います - 私は同様の結果を複製することはできませんし、.getClass()を呼び出してその方法で比較する必要があります。 – Mike