Все тесты Codeception для корнишек.feature заканчиваются в файлах контекста?
Переходя на Codeception от Behat и все еще привыкая к его концепциям и к чему все идет.
Если предположить, что мои тесты на 100% основаны на файлах.feature, означает ли это, что весь тестовый код может быть в контекстах? Что в функциональных тестах не было бы ничего, что расширяло бы PHPUnit_Framework_TestCase? (Предполагая, что все мои функциональные тесты будут расширять это)
1 ответ
Корнишон не управляется корнишоном, как Бехат. Если вы уходите от Behat, вы будете писать функции в классах в Codeception напрямую, и вы не собираетесь начинать со скрипта Gherkin, чтобы затем получить исполняемые спецификации (в ваших файлах контекстов, объектах страницы).
Вкратце два потока
Behat
- Пишем BDD скрипты /Gherkin - особенности. Они полностью абстрактны и обычно должны быть логическими описаниями вариантов использования, которые реализует ваша система. Владелец продукта может начать писать это, например, при создании пользовательской истории. Не требует логики программирования
- Для каждой строки в функции реализуйте исполняемую спецификацию (функцию в классе Context), которая обрабатывает это действие
- В Behat обычно вы также используете объекты Page (не уверен, что это можно сделать и в Codeception, но я не понимаю, почему нет, если вы можете импортировать библиотеку Page Object)
Codeception
- Вы пишете исполняемые спецификации в качестве первого шага, например, в классе Cept. Здесь нужен разработчик, так как это настоящий PHP Code/Classes
- Когда вы запускаете codeception, он выводит список всех операторов, которые он выполнил, как отчет.
Выше приведено очень упрощенное описание, так как ваш вопрос также очень общий. Я надеюсь, что это отвечает на ваш вопрос