单元测试和模拟 nodeJS 网络/套接字事件

Ska*_*Rat 5 tdd unit-testing mocking mocha.js node.js

我正在 TDD 编写一个从net模块连接到 Socket 的脚本。

为了测试,我使用 mocha 和模拟 sinonjs

现在我真的在模拟/伪造 Socket 的数据发射方面遇到了问题。

例如:我想测试这段代码:

socket.on('data', function (data) {
    console.log(data);
}
Run Code Online (Sandbox Code Playgroud)

如何伪造“数据”的发射?

sta*_*er2 0

您将希望socket以某种方式将变量公开给测试。我需要查看您的更多代码来推荐最佳方法。

然后在您的测试中,您可以调用socket.emit().