2016-09-12 1 views
0

Я использую Behat и Mink сделать некоторые функциональные тесты с моего сайта. Теперь есть функция, в которой я загружаю какой-либо файл на сервер, а затем я должен проверить изменения, внесенные на сервере, вызванные загрузкой файла, в отчет. Теперь в отчете я должен выполнить поиск в каждом из Записок и проверить правильность отображения данных. Теперь я могу поместить все это в одну функцию, потому что это приведет к тому, что она станет слишком большой и беспорядочной, особенно роль в проверке данных, я должен либо создать FeatureContext с состоянием, которое принимает данные поиска и данные результата в отдельном шаги, или мне придется помещать их данные поиска и ожидаемые данные результата в одну таблицу, что было бы не очень чисто. Я не могу использовать Scenario Outline, потому что это может привести к тому, что файл будет загружен каждый раз, когда выполняется сценарий, что тоже не очень хорошо.
Так что лучший способ справиться с этим, кажется, создания отдельных сценариев для загрузки и проверки функций и выполните одно из следующих действий:
1. Как-то сказать Behat выполнить «Check» Сценарий сразу после ' Загрузить ' Сценарий.
2. Назовите 'Загрузить' Сценарий от 'Проверить' Сценарий.
Как можно выполнить любую из этих двух альтернатив? Если никто не может, тогда как лучше всего справиться с этим?Behat: запуск сценариев в определенном порядке, или ссылки на сценарий из другого

ответ

0

Вы должны убедиться, что файл загружен, сценарии должны быть независимыми.

Используйте фон для настройки, таким образом, если фон не работает, будут проигнорированы следующие сценарии.

Ключ экономии времени и не выгрузка каждый раз - это проверить, загружен ли файл каким-либо образом или проверить, что первый этап настройки был выполнен успешно.

Например, на этапе настройки у вас может быть условие типа if (! IsUploaded) {загрузить файл}.

Загружен может проверить наличие переменной, файла для случая, когда вы установили это при первом успешном выполнении шага, или он может проверить, загружен ли файл другими способами (проверьте имя файла где-нибудь или проверьте некоторые изменения в интерфейсе).


@javascript @insulated 
Feature: Search 

    Background: 
    Given I upload the search config file if needed 
    And I am on homepage 

    Scenario: Search - search with valid term 
    When I search for phone 
    Then the search result page should contain phones 

    Scenario: Search - search with valid term 
    When I search for blabla 
    Then the search result page should contain no items found message 

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

+0

Это все еще не чисто. Главная цель вопроса - найти опрятное решение. – user2268997