С php.net / assert :
Утверждения должны использоваться только как функция отладки . Вы можете использовать их для проверок работоспособности, которые проверяют условия, которые всегда должны быть ИСТИНА, и которые указывают на некоторые программные ошибки, если нет, или для проверки наличия определенных функций, таких как функции расширения или определенные системные ограничения и функции.
Утверждения не должны использоваться для обычных операций во время выполнения, таких как проверки входных параметров . Как правило, ваш код всегда должен работать правильно, если проверка утверждений не активирована.
Так что для нормальной логики кода используйте логическое значение или несколько предопределенных констант. Для исключительной логики используйте нормальные операторы if
и бросьте Exception
для неверного ввода.
Если вы действительно заинтересованы в сохранении утверждений, вы можете определить обратный вызов assert, который выдает Exception
, который вы можете поймать в PHPUnit.
// PHP 5.3 Anonymous function as callback
// code is untested
assert_options(ASSERT_CALLBACK, function($file, $line, $code) {
throw new Exception('Assert failed in $file on line $line');
});