Задать вопрос
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”

Почему функция в chai isBelow не хочет принимать строку?

Есть тест в котором нужно проверить допустим строка "test" > "rest". Для этого в chai assert есть функция isBelow.
документация
ссылка на полную документацию
написано что принимает mixed. значит должно принимать и строку.
но когда вставляю строку выводит скрин ошибки
написано что ожидалось либо число, либо дата.
Может кто то сталкивался с таким.
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Mixed это какие-то влажные фантазии авторов chai — такого типа нет ни в JS, ни даже в TS или Flow. Если отдельно где-то в доках не указано, что Mixed это например number | string, то остается только смотреть в исходники и пытаться из использования понять, что именно подразумевалось. По всей видимости, подразумевалось «всё что угодно и каждый раз разное», оооочень полезная документация:)

Судя по коду — принимаются только Data и number.

Как не мучаться: expect('test' > 'rest').to.be.true;. Кажется контр-интуитивным, но на самом деле такие тесты проще читать и поддерживать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@vaajnur
битриксоид
строки не так проверяются. isBelow() это сравнение чисел, используй
assert.equal('123', '4564', 'not equal')
Ответ написан
Комментировать
mixed означает более одного типа, в данном случае два - число и дата.
Исходя из документации isBelow проверяет на условие "первое меньше второго". Как вы собираетесь сравнивать строки?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы