Я хотел бы использовать функцию assert в PHP в моей среде модульного тестирования.Преимущество заключается в возможности видеть вычисляемое выражение (включая комментарии) в сообщении об ошибке.
Проблема в том, что каждый метод, содержащий тесты, может иметь более одного утверждения assert, и я хотел бы сохранитьотслеживать, сколько фактических утверждений assert было выполнено.assert не дает мне способа подсчитать, сколько раз он был запущен, только сколько раз он был неудачным (в рамках обратного вызова сбоя).
Я попытался абстрагировать оператор assert в функцию, чтобы яМожно добавить механизм подсчета.
private function assertTrue($expression) {
$this->testCount++;
assert($expression);
}
Однако это не работает, поскольку любые переменные в выражении теперь находятся вне области видимости.
$var = true;
$this->assertTrue('$var == true'); // fails
Любые советы о том, как использовать assert вмое модульное тестирование, когда я могу посчитать количество реальных тестов?
Две идеи, которые я придумал, - заставить пользователей считать себя
$this->testCount++;
assert('$foo');
$this->testCount++;
assert('$bar');
или заставить пользователей выставлять только одно утверждениев каждом методе тестирования (тогда я мог бы подсчитать количество запущенных методов).но ни одно из этих решений не является обязательным для исполнения и затрудняет кодирование.Есть идеи, как этого добиться?Или я должен просто удалить assert () из моей среды тестирования?