Есть ли в Behat такие вещи, как детские сценарии?

Я работаю над тестированием, в котором есть довольно обширные формы отправки с вложенными формами. Таким образом, у нас есть много разделов, которые повторяются в зависимости от содержания. Например, информация о пользователе. В настоящее время в Behat я создаю все в своей функции и копирую / вставляю шаги с информацией о пользователе. Я использую Behat 3.x и не хотел пытаться создать проблему с цепочкой, которую они удалили из 2.5.

С учетом сказанного, есть ли лучший способ сделать это? Мне было интересно создавать дочерние блоки кода, но я не уверен, как это будет работать, поскольку Behat будет пытаться запустить все функции в каталоге, если вы не вызовете их по отдельности (что я не против). Поискивая эту проблему, я не верю, что я первый, кто увидел ценность шагов цепочки, а также понял возможные осложнения, связанные с ней. Я просто хочу знать, есть ли лучший способ сделать это с помощью метода Behat.

Я, конечно, могу оценить простоту корнишона, и я хотел бы, чтобы мои тесты были удобочитаемыми для других глаз. Создание цепочки или создание пользовательских функций в моем FeatureContext.php, которые делают вызовы сами по себе, лишает меня смысла иметь что-то вроде корнишона, но в то же время мне бы очень хотелось иметь более удобный способ определения нескольких шагов в время. Есть ли лучшие практики для этой конкретной проблемы?

0

Решение

Я постараюсь ответить, используя приведенный пример: вы могли бы написать фабрику «Информация о пользователе» для тестирования сценариев, которые требуют предварительного заполнения информации о пользователе, прежде чем начинать сценарий под рукой. Я предполагаю, что у вас есть тесты для этой функции, которые уже тестируют базовую функциональность добавления этой пользовательской информации, другие тесты не должны быть связаны с этими тестами таким образом, чтобы агрегировать изменения. Надеюсь, я понимаю ваш вопрос так, как вы хотели.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]