此点击测试何时失败/通过

时间:2021-01-11 22:59:54

标签: reactjs jestjs react-testing-library

我正在学习测试我的 React 组件。我有以下组件:

import React from 'react';
import PropTypes from 'prop-types';
import { firebase } from '../firebase';

export const Checkbox = ({ id, taskDesc }) => {
  const archiveTask = () => {
    firebase.firestore().collection('tasks').doc(id).update({
      archived: true,
    });
  };

  return (
    <div
      className="checkbox-holder"
      data-testid="checkbox-action"
      onClick={() => archiveTask()}
      onKeyDown={(e) => {
        if (e.key === 'Enter') archiveTask();
      }}
      aria-label={`Mark ${taskDesc} as done?`}
      role="button"
      tabIndex={0}
    >
      <span className="checkbox" />
    </div>
  );
};

在测试中,他们像这样测试 onClick 和 onKeyDown:

 it('renders the task checkbox and accepts a onClick', () => {
      const { queryByTestId } = render(
        <Checkbox id="1" taskDesc="Finish this tutorial series!" />
      );
      expect(queryByTestId('checkbox-action')).toBeTruthy();
      fireEvent.click(queryByTestId('checkbox-action'));
    });

但他只是点击它而不检查是否调用了 onClick 函数。这个测试已经完成还是需要更多?

目前还不清楚 jest 将如何确定此点击测试是通过还是失败。

0 个答案:

没有答案