javascript - 使用 Jasmine 2.0 对 $scope.$evalAsync 函数进行单元测试

标签 javascript angularjs unit-testing jasmine karma-jasmine

我正在尝试对 $scope.$evalAsync 函数进行单元测试。这是我的代码:

$scope.$evalAsync(function(done) {
    //enable the popover plugin
    done();
    jQuery('[data-toggle="popover"]').popover();
    $scope.isKioskIdLoaded.state = true;
});

我很难理解如何让 evalAsync 在我的 Jasmine 测试中运行。我正在尝试利用 Jasmine 2.0 中的 done() 函数。

最佳答案

您需要将 $scope.$digest() 添加到您的 Jasmine 测试中。在将 evalasync 函数添加到 Angular 的 asyncQueue 之后,您需要触发摘要。

关于javascript - 使用 Jasmine 2.0 对 $scope.$evalAsync 函数进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795283/

相关文章:

javascript - canvas - putImageData 并不总是有效

javascript - 将这些脚本组合在一起,Javascript/AJAX 和 PHP

javascript - 如何在 JavaScript 中导出和导入两个不同的函数对象?

angularjs - $templateCache 仅适用于 URL,还是可以使用它来获取 HTML 文件?

c++ - 静态方法和单元测试

java - Mockito.eq 匹配器似乎匹配列表引用,而不是值

javascript - 如何获得两个日期之间的月份

javascript - 在 WEB 应用程序中隐藏已选定选项卡的超链接按钮

javascript - 在 ngForm 中触发 'enter' 按键上的某个按钮

javascript - 如何在 Angular 1.5 组件中使用绑定(bind)