2014-12-18 3 views
0

Я использую behat 2.4 (stable), и я пытаюсь передать параметры в класс, который расширяет класс BehatContext, конструктор. Тем не менее, я получаю «Нераспознанные варианты« сюиты »под« behat », со следующей настройкой.Unrecognized options "suites" под "behat"

Я использую следующий behat.yml файл:

default: 
    suites: 
    default: 
     contexts: 
     exampleContext: 
      browser: http://localhost:8080 
      browser_version: /var/tmp 
    paths: 
    features: %behat.paths.base%/../../ 
    bootstrap: %behat.paths.base%/../../ 
    extensions: 
    Behat\MinkExtension\Extension: 
     # base_url is the URL to your dev site. Make sure you include 
     # the port at the end. e.g. 
     base_url: http://example.web01.com 
     default_session: selenium2 
     browser_name: 'chrome' 
     selenium2:      
     capabilities: { "browser": "firefox", "version": "14"} 
     sites/all/libraries/extensions/DrupalBehatExtension.php: ~ 
    filters: 
    # The default profile does not rebuild from nothing so do not run tests 
    # that require a rebuild from nothing. 
    tags: [email protected] 
    context: 
    class: DrupalContext 
    parameters: 
     # If you'd like to test on a clone of the actual site data set to true. 
     use_test_database: false 
     # If an existing test database exists then it will be used unless reset_database is set to true. 
     reset_database: false 
     # If you would like to clear the db and run site install on every feature 
     # set to the name of an install profile, otherwise set to false. 
     # If you do set this you should also set use_test_database to true. 
     rebuild_on_feature: false 
     # If you would like to enable a module after running site install 
     rebuild_module: false 
     # Set the name of the site folder to use for settings.php. 
     site: dev.example.com 

Моя реализация класса

class exampleContext extends BehatContext { 


public function __construct($browser = 'ie', $browser_version = '8') { 
    ... 
} 

Как я могу добиться этого? Единственный ответ, который я нашел, - это тот, который требует вынести DrupalContext, что весьма важно. Опция

How can i get the Parameters from Behat.yml to a php file?

+2

вариант "люксов IIRC был добавлен в behat 3 – l3l0

+0

@ l3l0 сообщение как ответ пожалуйста. –

ответ

1

Попробуйте это. Это для Бехата 2 не 3!

mySymfonyProject/composer.json:

"require": { 
    "behat/behat": "2.5.*@stable", 
    "behat/behat-bundle": "1.0.0", 
    "behat/symfony2-extension": "1.1.2", 
    "behat/mink": "1.5.0", 
    "behat/mink-extension": "~1.3", 
    "behat/mink-selenium2-driver": "1.1.1", 
    "behat/mink-goutte-driver": "1.0.9" 
}, 
"config": { 
    "bin-dir": "bin" 
}, 
"minimum-stability": "dev", 

behat.yml

default: 
    context: 
     class: FeatureContext 
     parameters: 
      browser: 'ie' 
      browser_version: '8' 
    extensions: 
     Behat\Symfony2Extension\Extension: 
      mink_driver: true 
      kernel: 
       env: test 
       debug: true 
     Behat\MinkExtension\Extension: 
      base_url: 'http://mysymfonyproject.local/app_test.php/' 
      javascript_session: selenium2 
      browser_name: firefox 
      goutte: ~ 
      selenium2: ~ 
    paths: 
     features: %behat.paths.base%/src 
     bootstrap: %behat.paths.features%/Context 

КОНТЕКСТ ВОЗМОЖНОСТЬ

mySymfonyProject/ЦСИ/сайта/CommonBundle/Особенности/Контекст/Fe atureContext.php

<?php 

namespace Site\CommonBundle\Features\Context; 

use Behat\MinkExtension\Context\MinkContext; 

class FeatureContext extends MinkContext 
{ 
    public function __construct($browser, $browser_version) 
    { 
     // Do whatever you wish with params 
    } 

    //And your own methods 
} 

ИСПЫТАНИЯ

Если у вас есть художественные файлы, которые вы можете запустить их, как это (это бежит все на одном дыхании. Для получения дополнительной информации читать behat документ):

bin/behat @SiteCommonBundle 
3

suites был добавлен в behat3. Вы должны обновить версию.