Ich benutze Nettys EmbeddedChannel, um einige meiner Handler zu testen.Netty EmbeddedChannel simuliert zwei verschiedene Verbindungen
Ich habe einen Anwendungsfall, wo ich testen möchte, dass mein Handler zwischen zwei Verbindungen (Kanäle) unterscheidet, basierend auf ihrer #remoteAddress().
Leider verwendet EmbeddedChannelEmbeddedSocketAddress, die einen fest codierten Wert für jeden erstellten Kanal bereitstellt. Daher haben zwei verschiedene EmbeddedChannel Instanzen genau die gleichen #remoteAddress().
Ich habe versucht, zu Spy die EmbeddedChannel und die remote Methode verspotten, aber wegen der EmbeddedChannel Implementierung dies nicht als ChannelPipeline gilt erstellt wird, bevor die spöttischen stattfindet. Daher wird der mocked Wert nicht an die Pipeline übergeben, da es einen Verweis auf das nicht gespottete Objekt hat.
Gibt es eine Alternative, wie Sie das oben genannte erreichen können? Idealerweise möchte ich, dass zwei verschiedene Instanzen von EmbeddedChannel unterschiedliche #remoteAddress() haben.
Vielen Dank.