javascript - 测试同一函数的并发调用

标签 javascript node.js unit-testing concurrency

我有一个功能:

var inRendering = false;
function render() {
  if (inRendering) {
    requestAnimationFrame(render);
  } else {
    inRendering = true;
    requestAnimationFrame(function () {
      longAction();
      inRendering = false;
    });
  }
}

我必须对其进行单元测试。测试并发调用render的情况。

请帮帮我好吗? JavaScript 中可以实现这种并发调用吗?谢谢。

附注我编写了一个显然不起作用的测试(请参阅评论):https://gist.github.com/kuraga/b0aa3d66fc0620f03b11

最佳答案

您可以使用异步模块,特别是 async.parallel为了并行运行两个函数

例如:

async.parallel([
    function(callback){
        // run your function once
    },
    function(callback){
        // run your function the second time
    }
],
// optional callback
function(err, results){
    // the results array will equal ['one','two'] even though
    // the second function had a shorter timeout.
});

关于javascript - 测试同一函数的并发调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34862892/

相关文章:

javascript - 在未打开开发工具的情况下,Angular-poller 在 IE11 上不起作用

unit-testing - 如何测量每个命名空间运行 clojure 测试所花费的时间?

c# - 如何在 WPF 中使用异步初始化对 ViewModel 进行单元测试

c# - 我们可以只对所有单元测试类使用一个 ClassInitialize 吗?

javascript - 如何根据句子索引突出显示句子?

javascript - 自动关闭日期范围输入 Shiny

javascript - Angularjs:ng-if通过比较字符串显示内容

javascript - Mixer Client 接口(interface) Beam 对象不是构造函数

javascript - 为操作完成而调用 Node 异步回调

javascript - 如何将我的前端与后端绑定(bind)(形成接触)