Все тесты Codeception для корнишек.feature заканчиваются в файлах контекста?

Переходя на Codeception от Behat и все еще привыкая к его концепциям и к чему все идет.

Если предположить, что мои тесты на 100% основаны на файлах.feature, означает ли это, что весь тестовый код может быть в контекстах? Что в функциональных тестах не было бы ничего, что расширяло бы PHPUnit_Framework_TestCase? (Предполагая, что все мои функциональные тесты будут расширять это)

1 ответ

Корнишон не управляется корнишоном, как Бехат. Если вы уходите от Behat, вы будете писать функции в классах в Codeception напрямую, и вы не собираетесь начинать со скрипта Gherkin, чтобы затем получить исполняемые спецификации (в ваших файлах контекстов, объектах страницы).

Вкратце два потока

Behat

  1. Пишем BDD скрипты /Gherkin - особенности. Они полностью абстрактны и обычно должны быть логическими описаниями вариантов использования, которые реализует ваша система. Владелец продукта может начать писать это, например, при создании пользовательской истории. Не требует логики программирования
  2. Для каждой строки в функции реализуйте исполняемую спецификацию (функцию в классе Context), которая обрабатывает это действие
  3. В Behat обычно вы также используете объекты Page (не уверен, что это можно сделать и в Codeception, но я не понимаю, почему нет, если вы можете импортировать библиотеку Page Object)

Codeception

  1. Вы пишете исполняемые спецификации в качестве первого шага, например, в классе Cept. Здесь нужен разработчик, так как это настоящий PHP Code/Classes
  2. Когда вы запускаете codeception, он выводит список всех операторов, которые он выполнил, как отчет.

Выше приведено очень упрощенное описание, так как ваш вопрос также очень общий. Я надеюсь, что это отвечает на ваш вопрос

Другие вопросы по тегам