有没有一个很好的方法来测试拖放与jest和vue和vue.draggable?
我试着看看vue.draggable plugin的测试,但我找不到任何。它真的未经测试吗?
检查:https://github.com/SortableJS/Vue.Draggable/tree/master/tests/unit
单元测试本身不是伪装拖放,但是Sortable.js执行了模拟事件和DOM操作,并测试了对这些输入的vue.draggable反应
它似乎没有经过测试。
这个article展示了如何使用Jest执行拖动测试:
const getTableCells = () =>
Array.from(mountNode.querySelectorAll("tr td:nth-of-type(1)"));
const createBubbledEvent = (type, props = {}) => {
const event = new Event(type, { bubbles: true });
Object.assign(event, props);
return event;
};
const tableCells = getTableCells();
const startingNode = tableCells[0];
const endingNode = tableCells[2];
startingNode.dispatchEvent(
createBubbledEvent("dragstart", { clientX: 0, clientY: 0 })
);
endingNode.dispatchEvent(
createBubbledEvent("drop", { clientX: 0, clientY: 1 })
);
expect(getTableCells().map(cell => cell.textContent)).toEqual([
"Bob",
"Clark",
"Alice",
]);
Shopify是一个非常着名的可拖动功能库:
https://github.com/Shopify/draggable
我看到他们有一些测试,也许你可以通过查看存储库获得更多信息?