19 Stimmen

Ist es möglich, eine Java-Protokollpuffer-Nachricht nachzustellen?

Protokollpufferklassen sind gekennzeichnet final vermutlich aus Gründen der Effizienz; dies macht es jedoch recht schwierig, mit ihnen zu testen. Mockito kann nicht in den Abschlussklassen spionieren/spionieren. Ich habe versucht, mit PowerMockito ohne Erfolg: Ich erhalte eine ClassFormatError bei der Vorbereitung der final Klasse für den Test.

Meine Lösung bis jetzt ist zu erstellen mockable Adapter-Schnittstellen, aber ich hoffe, es gibt einen weniger aufwendigen Ansatz.

2voto

aberrant80 Punkte 12269

JMockit kann bearbeiten final y static . Achten Sie nur darauf, wie Sie es einrichten, da es den JVM-Parameter -javaagent, Änderungen am Klassenpfad oder zusätzliche Anmerkungen erfordert, um Mocking zu ermöglichen final y static Sachen.

1voto

lexicalscope Punkte 6670

JDave hat ein Unfinalizer die sich mit dem JMock ClassImposteriser

Es kann keine Klassen unfinalisieren, die vom Boot Classloader geladen wurden, und es erfordert ein VM-Argument beim Starten der Tests.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X