有没有一种很好的方法来测试玩笑与vue和vue.draggable的拖放?
我试图看看vue.draggable plugin中的测试,但是找不到任何内容。真的未经测试吗?
答案 0 :(得分:0)
它似乎没有经过测试。
此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
我看到他们已经过测试,也许您可以通过查看存储库来获得更多信息?
答案 1 :(得分:0)
检查:https://github.com/SortableJS/Vue.Draggable/tree/master/tests/unit
单元测试本身并不是伪造的拖放,而是有Sortable.js执行的模拟事件和DOM操作,以及对这些输入的vue.draggable反应。