Behat context per feature

Мне интересно, есть ли способ использовать разные классы контекста для разных функций.

Я хотел бы, чтобы одна функция использовала MinkExtensions для тестирования браузера, а другая использовала и HTTP-клиент, такой как Guzzle, для тестирования API - у обоих были бы аналогичные шаги с разной реализацией.


person Bret R. Zaun    schedule 24.10.2013    source источник
comment
Судя по всему, эта функция будет частью Behat 3.   -  person Bret R. Zaun    schedule 24.10.2013


Ответы (1)


Это должно быть возможно в Behat 3. См. http://everzet.com/tagged/Behat Feature: " Многоконтекстный запуск с поддержкой классов контекста для каждого тега, каталога и роли. Эта мантра «важность роли», которую я всегда проповедовал, наконец станет возможной, поскольку каждая роль в конечном итоге сможет иметь собственный словарь шагов. "

На данный момент в Behat 2 вы можете использовать разные профили для разделения функций. В вашем behat.yml может быть что-то вроде этого:

#running login suite using Mink
login-suite:
    paths:
         features: features/login-suite
         bootstrap: features/login-suite/bootstrap

    extensions:
        mink-extension.phar:
            base_url: http://domain.org

    formatter:
        name: pretty, junit, html
        parameters: 
            output_path: null, logs/login-suite/, logs/login-suite/out.html

#running logout suite using the WebApi
logout-suite:

    paths:
         features: features/logout-suite/ 
         bootstrap: features/logout-suite/bootstrap/

    formatter:
        name: pretty, junit, html
        parameters: 
            output_path: null, logs/login-suite/, logs/logout-suite/out.html

    extensions:
        Behat\WebApiExtension\Extension:
            base_url: http://api.domain.org

Файлы FeatureContext.php для функций пакета входа и выхода теперь разделены.

Проблема в том, что теперь нельзя запускать все тесты сразу. Это можно сделать с помощью контекстов: http://docs.behat.org/guides/7.config.html#Context

person user2707671    schedule 25.10.2013