我正在尝试对我的服务器代码(非 http、自定义协议(protocol))进行单元测试。我需要创建一个模拟双工套接字,我可以异步发送消息并从中接收消息。
我在从事件流 readArray 和 writeArray 创建双工流方面取得了一些成功,但 readArray 需要预先准备好数据,并且 writeArray 在流结束之前不会触发。我需要随着时间的推移进行测试。理想的解决方案是将两个双工套接字链接在一起。
是否有任何现有的解决方案?我宁愿不必求助于初始化一个实际的服务器来测试它。
最佳答案
Node Mitm实际上可以做到这一点。它不仅可以拦截和模拟 HTTP,还可以拦截和模拟任何 TCP 连接。
mitm.on("connection", function(socket) { socket.write("Hello back!") })
var socket = Net.connect(22, "example.org")
socket.write("Hello!")
socket.setEncoding("utf8")
socket.read() // => "Hello back!"
关于node.js - Node JS : How can I create a fake tcp socket for testing servers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29543322/