如何使用window.navigator.msSaveBlob测试功能?

问题描述 投票:0回答:1

我必须为window.navigator.msSaveBlob用角度编写一个单元测试。如何编写具有100个分支覆盖率的单元测试?

msSaveOrOpenBlob() {
    if (window && window.navigator && window.navigator.msSaveBlob)
      return true;
    return false
  }

  msSaveBlob(request: Blob, fileName: string) {
    return navigator.msSaveBlob(request, fileName);
  }

angular karma-jasmine
1个回答
0
投票

您的测试将在铬中运行,因此将不会定义msSaveBlob或msSaveOrOpenBlob函数,因为它们仅在IE中可用。

出于测试目的,您可以在导航器对象本身的单个测试中设置它们。例如:

window.navigator.msSaveOrOpenBlob = () => true;
window.navigator.msSaveBlob = () => true;

完成测试后,请不要忘记取消设置,因此不会出现不良的副作用。

window.navigator.msSaveOrOpenBlob = undefined;
window.navigator.msSaveBlob = undefined;
© www.soinside.com 2019 - 2024. All rights reserved.