Что такое препойнты и как они работают?
Что проверяют
Слышали ли вы термин и не станете ли угадывать вслух. Слово нестандартное, в документации его нет, и сильный ответ начинается с уточнения: обычно за ним имеют в виду предусловия теста, реже точки останова в отладчике. Дальше проверяется уже привычное: умеете ли вы отделять подготовку от проверки.
Как отвечать
Сначала уточнить, что имеется в виду, и назвать оба прочтения. Затем по существу: предусловие это состояние системы, которое обязано выполняться до первого шага теста. Учётная запись существует и подтверждена, корзина пуста, на балансе достаточно средств, нужный признак функциональности включён.
Почему их выносят из шагов: предусловие не является предметом проверки. Если шаги начинаются с регистрации и входа, а проверяется оформление заказа, то падение на входе будет засчитано оформлению заказа, и отчёт соврёт. Правило простое: всё, что не проверяется этим тестом, готовится самым дешёвым и надёжным способом, обычно через API или прямую подготовку данных, а не через интерфейс.
В автотестах предусловия живут в фикстурах, у которых есть и обратная часть: вернуть стенд в исходное состояние после прогона. Признак, что сделано правильно, такой: тест проходит в одиночку, дважды подряд и параллельно с соседними.
Где спотыкаются
Уверенно отвечают на незнакомый термин, подставив похожее слово. Сказать, что термин нестандартный, назвать два вероятных значения и попросить уточнить, сильнее любой догадки, и собеседующие это ценят.
Готовят данные через интерфейс. Вход, регистрация и наполнение корзины кликами делают тест длинным и хрупким: он падает из-за чужой формы, а не из-за проверяемой функции.
Оставляют предусловие неявным. Тест зелёный у автора, потому что учётная запись заведена руками полгода назад, и красный у всех остальных. Всё, от чего зависит прогон, должно быть описано или создаваться кодом.