簡體   English   中英

如何為 vanilla JavaScript 函數編寫快照測試?

[英]How do I write a snapshot test for a vanilla JavaScript function?

我編寫了一個函數,在單擊按鈕時向按鈕添加一個類:

export default function () {
  const button = document.getElementById('button');
  button.addEventListener('click', ((event) => {
    event.target.classList.add('is-active');
  }));
};

我想寫一個Jest 快照測試 但是所有的例子都參考了 React。 我在將示例翻譯成普通 JavaScript 時遇到了麻煩。

如何為上述功能編寫快照測試?

要進行設置,請將您的按鈕添加到 DOM 並初始化initButton()函數。 然后單擊按鈕並在快照上斷言。

import initButton from './button';

it('should add class to button when clicked', () => {
  document.body.innerHTML = '<button id="button">Click me!</button>';
  initButton();

  document.getElementById('button').click();

  expect(document.body).toMatchSnapshot();
});

快照將輸出:

exports[`should add class to button when clicked 1`] = `
<body>
  <button
    class="is-active"
    id="button"
  >
    Click me!
  </button>
</body>
`;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM