Я понимаю значение термина «фатальная ошибка», но я хочу написать такой тестовый класс (отвратительно упрощенный):
class tester {
function execute() {
if( @$this->tryit() === true ) return true;
return false;
}
function tryit() {
$doesntexist = new noobject();
return true;
}
}
на самом деле у меня был бы Test
родительский класс, и тогда классы расширяли бы его и содержали кучу методов с кучей тестов. Родительский класс будет определять execute
, и он будет просто запускать каждый метод в дочернем классе (конечно, за исключением execute
) и собирать данные о том, какие функции проходят, а какие - нет.
Я хочу написать тесты до того, как я на самом деле напишу часть своего кода, но вместо использования assert
я просто хочу запускать каждый тест и генерировать список функций, классы которых не пройдены. Но это означает, что если тест не пройден, это означает, что произошла ошибка - но я также хочу обрабатывать случаи, когда я забыл определить класс и т. Д. Можно ли это сделать, не умирая весь сценарий?
Я думал, что сценарий просто завершится неудачей до вызова функции с @
перед ним, а затем продолжится, но, очевидно, я ошибся. Есть ли обходной путь?