使用 PHPhotoLibrary.requestAuthorization(for: .readWrite) { status in
switch status {
case .notDetermined:
// The user hasn't determined this app's access.
case .restricted:
// The system restricted this app's access.
case .denied:
// The user explicitly denied this app's access.
case .authorized:
// The user authorized this app to access Photos data.
case .limited:
// The user authorized this app for limited Photos access.
@unknown default:
fatalError()
}
}
和 getBoundingClientRect
进行简单的滚动到 Element 函数,但无法获得 Jest 测试的任何迭代以获得超出 window.scrollTo
的任何覆盖范围。所有其他测试覆盖率为 0。
要测试的功能:
branch: 100
未在所有类别中提供 100% 覆盖率的 Jest 测试:
export default function scrollToEl(el) {
let elRect = el.getBoundingClientRect();
return window.scrollTo(
elRect.left + document.documentElement.scrollLeft,
elRect.top + document.documentElement.scrollTop
);
}
如何获得全面的 100% 覆盖率? 请帮忙。
JS 函数:
我不得不将 import * as scroll from "../scrollToEl";
describe("scrollToEl test", () => {
let element;
let ev = jest.fn();
scroll.scrollToEl = jest.fn(() => {
ev;
});
beforeEach(() => {
element = document.createElement("div");
});
it("should be called", () => {
ev(element)
expect(ev).toHaveBeenCalled();
});
});
更改为 export default function
export const scrollToEl = function (el)
测试:
我必须简化测试才能获得 100% 的全面覆盖率。我添加并检查了 export const scrollToEl = function (el) {
// ...
};
,同时在新创建的元素 window.scrollTo
上调用了实际函数。
(el)
答案 0 :(得分:2)
所以,首先我对您想要 100% 代码覆盖率的目标有疑问。但这不是关于那个的问题,所以我们现在将跳过它。
为了让 Jest 不抱怨 scrollTo
,你必须嘲笑它。
window.scrollTo = jest.fn();