我使用Netty的EmbeddedChannel來測試我的一些處理程序。模擬兩個不同連接的Netty EmbeddedChannel
我有一個用例,我想測試我的處理程序根據它們的#remoteAddress()區分兩個連接(通道)。
不幸的是,EmbeddedChannel使用EmbeddedSocketAddress,它爲每個創建的通道提供硬編碼值。因此,兩個不同的EmbeddedChannel實例具有完全相同的#remoteAddress()。
我試圖間諜的EmbeddedChannel和模擬出remoteAddress方法,但由於EmbeddedChannel實現的,這並不爲ChannelPipeline應用嘲諷發生之前創建。因此,模擬值不會在管道上傳遞,因爲它具有對非模擬對象的引用。
如何實現上述目標是否有其他選擇。理想情況下,我希望EmbeddedChannel的兩個不同實例具有不同的#remoteAddress()。
謝謝。