如何使用vue和jest测试拖放

问题描述 投票:1回答:2

有没有一个很好的方法来测试拖放与jest和vue和vue.draggable?

我试着看看vue.draggable plugin的测试,但我找不到任何。它真的未经测试吗?

vue.js drag-and-drop jestjs draggable
2个回答
2
投票

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

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


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

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

© www.soinside.com 2019 - 2024. All rights reserved.