Задать вопрос

Как добавлять новые тесты в PHPUnit прямо во время рантайма?

Привет!
Настраиваю окружение для тестировщиков в виде связки phpunit + selenium (selenoid). Возникла идея простого "дымного" теста - обход всех активных элементов на странице и "прокликивания" по ним в поисках яваскрипт и http-статусных ошибок.
Этот тест получился в виде набора методов для сбора, обхода ссылок(в частности) и навигации по дереву страниц.
Точка входа - стандартно, публичный метод с именем `test*`, таким образом все проверки получаются в одном тесте, многочисленными `assert`-ами. Это неудобно, не видно прогресс выполнения, а в отчетах визуально непонятно количество ошибок - первый же неудачный `assert` валит тест целиком. Хотелось бы переход по каждой ссылке оформить в виде отдельного теста.

Может кто решал подобную задачу? `@dataProvider` тут не подходит, поскольку он выполняется ДО начала тестов, а в текущем кейсе данные возникают прямо во время тестирования.
  • Вопрос задан
  • 392 просмотра
Подписаться 9 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
catanfa
@catanfa
может быть, подойдёт аннотация @depends? Разбиваете большой тест на кучу маленьких методов, данные в следующий метод передаёте с помощью return из предыдущего.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы