测试$ mdDialog resolve是否正在调用正确的服务

时间:2018-06-14 08:44:26

标签: javascript angularjs jasmine karma-jasmine

我有一个简化的服务,可以打开像这样的对话框

service.open = args => {
    return $mdDialog.show({
        templateUrl: '...',
        controller: '...',
        controllerAs: '...',
        resolve: {
            mything: () => {
                return mything.get().$promise.then(data => data.data);
            }
        }
    })
};

在我的测试中,我注入mything服务并监视get方法。但是当我调用service.open函数时,它永远不会被调用 我想测试mything.get()被调用,我该怎么做呢?

beforeEach(inject((_dialog_, _mything_) => {
    dialog = _dialog_;
    mything = _mything_;
}));

fit('should call correct resolve', () => {
    spyOn(mything , 'get');

    dialog.open(); // This is my service

    expect(mything.get).toHaveBeenCalled();
});

0 个答案:

没有答案