如何在Jasmine Test中模拟@Inject('window')

时间:2018-04-20 22:57:08

标签: angular jasmine

是否可以将注入的服务模拟为Jasmine测试?我的构造函数包含:

@Inject('window') private window: any

我的测试中的providers数组包含:

providers: [{ provide: 'window', useValue: mockWindowService }]

我的mockWindowService是:

const mockWindowService = {
    history: {
        pushState: () => ''
    },
    location: {
        href: 'href',
        origin: 'origin'
    }
};

我想知道如何正确地模拟和测试它。例如,我想做以下事情:

const assignSpy: jasmine.Spy = spyOn(window.location, 'assign');
expect(assignSpy).toHaveBeenCalledWith('my/custom/path');

我怎样才能做到这一点?谢谢!

0 个答案:

没有答案