如何用vue和jest测试拖放

How to test drag and drop with vue and jest

有没有用jest和vue测试拖放的好方法vue.draggable?

我试图查看 vue.draggable plugin 中的测试,但我找不到任何内容。真的没有测试过吗?

好像没测试过

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

我看到他们有一些测试,也许你可以通过查看存储库获得更多信息?

检查:https://github.com/SortableJS/Vue.Draggable/tree/master/tests/unit

单元测试本身并没有假装拖放,但 Sortable.js 执行了模拟事件和 DOM 操作,并测试 vue.draggable 对这些输入的反应