#codeception
#codeception
Вопрос:
Если я смогу получить имя файла неудачного теста, я мог бы запустить тест во второй раз, чтобы проверить, действительно ли это ошибка или просто совпадение. До сих пор я не мог найти решение.
Ответ №1:
Вы получаете экземпляр test в перехватчике _failed, поэтому вы можете сделать то же самое, что и расширение RunFailed:
use CodeceptionTestDescriptor;
public function _failed(CodeceptionTestInterface $test, $fail)
{
$fullName = Descriptor::getTestFullName($test);
}
Оригинальный ответ:
Codeception имеет расширение RunFailed, которое включено по умолчанию.
Он сохраняет имена всех неудачных тестов в tests/_output/failed
файл, а неудачные тесты могут быть выполнены с помощью codecept run -g failed
команды running .
Чтобы заставить CI пройти, если неудачные тесты проходят при втором запуске, вы можете использовать эту команду: codecept run || codecept run -g failed
Комментарии:
1. Спасибо, но это не то, что мне нужно. Я хочу сгенерировать команду оболочки с именем теста и именем файла. Прямо сейчас почта генерируется после каждого неудачного теста, но я хочу, чтобы почта генерировалась только в том случае, если тест не удался во второй раз. Это было бы легко с именем файла теста.
2. Это сработало, спасибо. Теперь у меня последняя проблема, как я могу получить имя среды?
3. johnoleksowicz.com/retrieve-environment-codeception-helper получил мой ответ, хвала интернету.