#javascript #jestjs
Вопрос:
У меня есть функция, которая получает два числа (целое число), возвращая массив с первыми (числами), кратными (значению), как countBy(значение, число).
напр.
countBy(1, 10) returns [1, 2, 3, 4, 5, 5, 7, 8, 9, 10]
countyBy(2, 5) returns [2, 4, 6, 8, 10]
Итак, какой сопоставитель следует использовать для проверки того, получает ли функция только числа (целое число) ? Я провел много тестов, но так и не нашел решения.
it ('Verify if are received and returned only numbers', () =gt; { expect(typeof countBy(2, 5)).toBe('number'); });
Кто-нибудь может дать мне прикурить?
Комментарии:
1. Это не имеет смысла — функция не контролирует то, что она получает , это зависит от вызывающего абонента.
Ответ №1:
попробуйте это
const targetArray = [1, 2, 3, 4, 5, 5, 7, 8, 9, 10]; test("Verify if are received and returned only numbers", () =gt; { targetArray.forEach((target) =gt; { expect(typeof target).toBe("number"); }); });
Комментарии:
1. На самом деле не прошел! Когда я ввожу строку в функцию, она не возвращает ошибку, как должно быть.
2. @KelsonBatista нужно перейти к полному массиву, а затем проверить каждый тип элемента. Я изменил код. Я проверяю свой компьютер. теперь это должно сработать.
3. Теперь это работает @MohammadAliRony! Большое вам спасибо!