Angular: window.print() 单元测试

Angular: window.print() unit test

我需要帮助来为我的方法编写单元测试,但我不知道该怎么做。 所以如果有人能帮我一把,你会拯救我的一天。

我的方法:

print(component) {
  window.print();
  window.cancel();
}

如何测试这个方法?

尝试这样的事情:

it('should call print and cancel', () => {
  // spy on print and cancel on window object
  const printSpy = spyOn(window, 'print');
  const cancelSpy = spyOn(window, 'cancel');

  // call print
  component.print({/* mock component however you wish here */});

  // expect print and cancel spy to have been called
  expect(printSpy).toHaveBeenCalled();
  expect(cancelSpy).toHaveBeenCalled();
});

如果您不熟悉单元测试,这是一个很好的资源:https://testing-angular.com/