Модульный тест для детализированных функций - PullRequest
0 голосов
/ 06 августа 2020

У меня был файл, в котором следующий обработчик передал его дочернему компоненту

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}
        />
      );
    });
  };

Невозможно написать модульное тестирование для этого (используя библиотеку тестирования реакции со шуткой), есть ли предложения о том, как мне подойти?

1 Ответ

0 голосов
/ 07 августа 2020

я думаю, что сбивало интеграционное тестирование с модульным. Мы можем провести интеграционное тестирование и провести тестирование следующего. Мы должны искать измененный элемент при срабатывании следующих функций. Пример

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