Ich erstelle eine Testplattform für ein Protokollprojekt basierend auf Apache MINA. Wenn Sie in MINA Pakete empfangen, ruft die Methode messageReceived()
ein Objekt ab. Idealerweise würde ich gerne eine JUnit-Methode assertClass()
verwenden, sie existiert jedoch nicht. Ich spiele herum und versuche herauszufinden, was mir am nächsten kommt. Ich versuche etwas zu finden, das instanceof
ähnlich ist. Dies funktioniert ohne ProblemErstellen einer assertClass() -Methode in JUnit
assertClass("Packet type is correct", SomePacket.class, receivedPacket);
jedoch in das Experimentieren und Spielen mit dieser mein Interesse durch den instanceof
Betreiber erreichte wurde:
Zur Zeit habe ich:
public void assertClass(String msg, Class expected, Object given) {
if(!expected.isInstance(given)) Assert.fail(msg);
}
Um dies zu nennen.
if (receivedPacket instanceof SomePacket) { .. }
Wie ist instanceof Lage SomePacket
zu verwenden, um das Objekt zur Hand zu verweisen? Es ist keine Instanz eines Objekts, es ist keine Klasse, was ist es ?! Sobald Sie feststellen, welcher Typ SomePacket
an diesem Punkt ist, ist es möglich, meine assertClass()
zu erweitern, um nicht das SomePacket.class
Argument einzuschließen, anstatt SomePacket
zu bevorzugen?
Danke! Ich denke, es ist so, wie ich dachte - ich kann ein ähnliches Ergebnis nicht duplizieren und muss die .getClass() aufrufen und so vergleichen. – Mike