我正在编写的库中使用
node:net
Socket API。我想对这段代码进行单元测试,所以我想通过允许这个单元接受任何双工流来抽象 Socket。
出于测试目的,我想要一种创建流的方法,它允许我在“本地”和“远程”端模拟/监视,但如果我能够创建两个连接的流,这可以很容易地实现.
我自己尝试了几种创建 Duplex 类的方法,但还没有完全弄清楚如何在两者之间传输数据。
希望有这样的API:
const [local, remote] = createLinkedDuplexes();
local.write('abc');
remote.read(); // => 'abc'
remote.write('def');
local.read(); // => 'def'
然后我会从这里将 Jest 模拟附加到双方的
'data'
事件上,并在我的单元测试中使用它们。
有什么获得方法吗?