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

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

Есть тест в котором нужно проверить допустим строка "test" > "rest". Для этого в chai assert есть функция isBelow.
документация
ссылка на полную документацию
написано что принимает mixed. значит должно принимать и строку.
но когда вставляю строку выводит скрин ошибки
написано что ожидалось либо число, либо дата.
Может кто то сталкивался с таким.
  • Вопрос задан
  • 133 просмотра
Решения вопроса 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 проверяет на условие "первое меньше второго". Как вы собираетесь сравнивать строки?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы