javascript - 如何在 Node.js 测试中关闭 net.Server?

标签 javascript node.js testing asynchronous mocha.js

该示例可以找到,但是当我将 server.listen(1234); 替换为 server.listen(1234, '127.0.0.1'); 时,测试返回以下错误:“错误:未运行”

describe('Server', function() {
  it('should do something', function(done) {
    var server = new net.Server();
    server.listen(1234);

    // do something

    server.close();
    done();
  });
});

你能解释一下为什么吗?

最佳答案

那是因为listen是异步的。恰好在没有给出第二个参数的情况下,它足够同步地打开 close 不会失败。就此而言,close 也是异步的。

it('should do something', function(done) {
  var server = new net.Server();
  server.listen(1234, '127.0.0.1', function(){
    // do something

    server.close(done);
  });
});

关于javascript - 如何在 Node.js 测试中关闭 net.Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17286636/

相关文章:

java - 并行测试执行 Jenkins

javascript - Reactjs SPA 应用程序 - 一切作为组件(性能和实践)

javascript - 使用 jQuery deffered.resolveWith() 在单个参数中传递数组

javascript - 我在哪里注册我的 JS 以便 grunt 添加它?

android - 适用于 Android 应用程序的 Google Cloud Messaging,同一应用程序的不同环境

ios - TestFlight 不显示任何 iOS 构建

javascript - 具有条件字段的 Backbone 形式

javascript - typescript 中的 `export type` 是什么?

node.js - 上传大文件导致错误 : "Payload content length greater than maximum allowed: 1048576"

javascript - 使用路由器管理图像资源的获取请求