Uygulamanızda birden fazla paket barındırıp, her birinin içinde kendilerine ait olan context ve feature dosyalarını tutabilirsiniz. Bu gibi durumlarda testleri çalıştırmak için --suite bayrağını kullanırız. Bu örneğimizde, testlerin bazılarını paket altında, bazılarını ise ana klasörde tutacağız.


Yapı


inanzzz
...
features
Context
CommonContext
FeatureContext
CountryContext
Tests.feature
...
src
Inanzzz
ApplicationBundle
...
Features
Context
CommonContext
FeatureContext
CountryContext
Tests.feature
...
...
behat.yml
...

Behat.yml


Buradaki kritik noktalar autoload ve bundle bölümleridir.


default:
autoload:
- %paths.base%
extensions:
BehatSymfony2Extension: ~
BehatMinkExtension:
base_url: http://inanzzz.dev:8082/app_test.php
sessions:
symfony2:
symfony2: ~
suites:
app:
type: symfony_bundle
bundle: InanzzzApplicationBundle
mink_session: symfony2
contexts:
- InanzzzApplicationBundle\Features\Context\FeatureContext
- InanzzzApplicationBundle\Features\Context\CommonContext
- InanzzzApplicationBundle\Features\Context\CountryContext

root:
mink_session: symfony2
contexts:
- features\Context\FeatureContext
- features\Context\CommonContext
- features\Context\CountryContext

Testler


$ vendor/bin/behat --suite=app

$ vendor/bin/behat --suite=root