【问题标题】:How to mock a method which is inside a sub-property of a service?如何模拟服务子属性中的方法?
【发布时间】:2015-08-27 01:45:45
【问题描述】:

控制器内部的服务如下:

 .controller('DesignHomeCtrl', ['$scope', 'Service',function($scope,Service){

var home = this;

 home.method1 = function () {
                Service.imageLib.showDialog(options, callback);
            };

   }])

如您所见,showDialog 位于子属性内。

我不知道如何监视这个。

请告诉我如何使用 Jasmine 模拟它。提前致谢。

【问题讨论】:

    标签: jasmine karma-jasmine


    【解决方案1】:

    您必须创建一个模拟服务,例如

    beforeEach(inject(function($controller) {
        service = {
          showDialog: function () {
            //your code
          }
        };
        ...
        spyOn(service, 'showDialog').andCallThrough();
        ...
      }));
    

    this folk 做了这样的事情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      相关资源
      最近更新 更多