Jasmine 如何模拟服务子属性中的方法?

Jasmine 如何模拟服务子属性中的方法?,jasmine,karma-jasmine,Jasmine,Karma Jasmine,控制器内的服务如下所示: .controller('DesignHomeCtrl', ['$scope', 'Service',function($scope,Service){ var home = this; home.method1 = function () { Service.imageLib.showDialog(options, callback); }; }]) 如您所见,showDialog位于子属性内

控制器内的服务如下所示:

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

var home = this;

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

   }])
如您所见,showDialog位于子属性内

我不知道怎么用间谍监视这个


请告诉我如何用茉莉来模仿它。提前感谢。

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

beforeEach(inject(function($controller) {
    service = {
      showDialog: function () {
        //your code
      }
    };
    ...
    spyOn(service, 'showDialog').andCallThrough();
    ...
  }));
你做过这样的事吗