【问题标题】:Unit test for functions drilled down向下钻取功能的单元测试
【发布时间】:2020-08-06 07:52:51
【问题描述】:

我有一个文件,下面的处理程序将它传递给子组件

const [state, dispatch] = useReducer(returnsReducer, initialState);
const selectItemHandler = (salesOrderLineId: number) => {
  dispatch({ type: SET_SELECTED_ITEMS, salesOrderLineId });
};


const selectQuantityHandler = (
  selectedQuantity: number,
  salesOrderLineId: number
) => {
  const item = { salesOrderLineId, selectedQuantity };
  dispatch({ type: SET_SELECTED_QUANTITY, item });
};

这样传下去:

const renderEligibleItems = () => {
    return eligibleItems.map((item, i) => {
      return (
        <ProductTileWrapper
          key={i}
          {...item}
          onItemSelect={selectItemHandler}
          onQuantityChange={selectQuantityHandler}
          selectedItems={selectedItems}
        />
      );
    });
  };

无法为此编写单元测试(使用带有 jest 的 react-testing 库),对我应该如何处理有什么建议吗?

【问题讨论】:

  • 你是什么意思“不能”?你尝试了什么,它到底有什么问题?
  • 您有尝试编写的测试代码示例吗?

标签: javascript jestjs react-testing-library


【解决方案1】:

我猜是把集成测试和单元测试混为一谈了。我们可以做集成测试,实现以下测试 当以下函数被触发时,我们必须寻找改变的元素。 示例

it("should make the checkbox checked", async () => {
    render(<OrdersReturnsBasePage />);
    const checkbox = screen
      .getAllByTestId("checkbox")[0]
      .querySelector("input");
    await fireEvent.click(checkbox);
    expect(checkbox).toBeChecked();
  });

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 2015-12-27
    • 2015-05-20
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多