Вступить в клуб →
лёгкаявопросТестирование: PHPUnit и feature-тесты

Тест прошёл, хотя метод возвращает строку «0» вместо числа 0

$this->assertEquals(0, $cart->discountFor($user));

После рефакторинга discountFor стал возвращать строку "0", и в другом месте сравнение === 0 сломало расчёт. Тест при этом зелёный. Почему?

  • assertEquals сравнивает нестрого; нужен assertSame
  • PHPUnit не различает типы в принципе
  • Нужно поменять местами аргументы
  • Строка «0» и число 0 в PHP 8 идентичны

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела