angularjs - 如何监视 AngularJS 中的函数

标签 angularjs jasmine karma-jasmine

var refresh = function(){
    console.info("refreshing page")
     window.location.reload();
}

我应该监视上面的函数“window.location.reload()”

我已经给出了代码

describe('for  page refresh',function(){
    spyOn(window.location,'reload');    
it('should refresh the welcome page',function(){
        expect($location.reload),toHaveBeenCalled();

引发错误 错误::重新加载未声明为可写或没有 setter 。

我是 angularJS 的新手。任何帮助都会非常有用。

最佳答案

我也是 Jasmine 的新手。检查一下,它可能对您有帮助。

describe('for  page refresh', function() {

  beforeEach(function() {

    refresh = {
      reload: function(value) {
        window.location.reload();
      }
    };
    spyOn(refresh, 'reload');

  });

  it('should refresh the welcome page', function() {
    refresh.reload();
    expect(refresh.reload).toHaveBeenCalled();
  });
})

关于angularjs - 如何监视 AngularJS 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910833/

相关文章:

ruby-on-rails-3 - Jasmine 设置错误 rails 3.1 ActiveSupport::Concern (NameError)

Angular Karma 没有运行所有单元测试

javascript - 你们能帮我用 jasmine 为下面的代码编写测试用例吗

javascript - AngularJS - 无法访问 RootScope

angularjs - 用链接标签包装 URL 的指令

javascript - 将 'orderBy' 与 Angular 中的另一个过滤器组合

angularjs - 如何测试指令链接中的功能

javascript - 将 JSON 对象传递给 ng-init

javascript - 函数内 Restangular 的 jasmine 测试用例

angular - Jasmine/Karma 错误,无法读取未定义的属性