我必须为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);
}
您的测试将在铬中运行,因此将不会定义msSaveBlob或msSaveOrOpenBlob函数,因为它们仅在IE中可用。
出于测试目的,您可以在导航器对象本身的单个测试中设置它们。例如:
window.navigator.msSaveOrOpenBlob = () => true;
window.navigator.msSaveBlob = () => true;
完成测试后,请不要忘记取消设置,因此不会出现不良的副作用。
window.navigator.msSaveOrOpenBlob = undefined;
window.navigator.msSaveBlob = undefined;