#reactjs #jestjs
#reactjs #jestjs
Вопрос:
Комментарии:
1. Передайте аргументы функциям и сделайте утверждения, что возвращаемое значение действительно такое, каким вы его ожидаете видеть.
2. Вопрос не ясен, но даже если бы это было так, пожалуйста, разместите свой код внутри кодовых блоков , а не изображений текста.
Ответ №1:
Я бы просто импортировал функции в свой тестовый файл, а затем написал тесты, передающие даты функциям в качестве аргументов, а затем ожидающие значений, возвращаемых этими функциями.
Что-то вроде этого:
import {
formatDate,
startEndDate
} from "./index.js";
describe("formatDate", () => {
it("should format date properly", () => {
expect(formatDate(new Date("01/12/1992"))).toBe("Jan 12, 1992");
});
// More such tests here with different values of dates.
});
describe("startEndDate", () => {
it("should return start and end date in proper format", () => {
expect(startEndDate(new Date("01/12/1992"), new Date("12/12/1992"))).toBe(
"01/12/1992 - 12/12/1992"
);
});
// More such tests here with different values of start and end dates.
});
Вот рабочий пример CodeSandbox для вашей ссылки.
PS: Игнорируйте Exceeded timeout of 5000ms for a test.
тест, который вы видите в результате. Написанные нами onces (2 теста) пройдены.
Комментарии:
1. Спасибо @SiddAjmera!!! Я не знал, что могу импортировать точный файл и вызвать его следующим образом.
Ответ №2:
Я не думаю, что модульное тестирование требуется в таком случае. Издевательство над momentjs делает модульный тест элементарным. Сделайте интеграционный тест.