我使用Netty的EmbeddedChannel来测试我的一些处理程序。模拟两个不同连接的Netty EmbeddedChannel
我有一个用例,我想测试我的处理程序根据它们的#remoteAddress()区分两个连接(通道)。
不幸的是,EmbeddedChannel使用EmbeddedSocketAddress,它为每个创建的通道提供硬编码值。因此,两个不同的EmbeddedChannel实例具有完全相同的#remoteAddress()。
我试图间谍的EmbeddedChannel和模拟出remoteAddress方法,但由于EmbeddedChannel实现的,这并不为ChannelPipeline应用嘲讽发生之前创建。因此,模拟值不会在管道上传递,因为它具有对非模拟对象的引用。
如何实现上述目标是否有其他选择。理想情况下,我希望EmbeddedChannel的两个不同实例具有不同的#remoteAddress()。
谢谢。