모든 Symfony2 프로젝트에서 사용하고있는 것을 공유하고 있습니다.
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
mySymfonyProject/behat.yml :
밍크 + 셀레늄
COMPOSER Behat 프로젝트에 3,691,363,210
default: context: class: FeatureContext 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
셀레늄
다운로드. here, 페이지 중간에있는 2.43.1 버전을 다운로드하십시오.
실행을 : java -jar selenium-server-standalone-2.43.1.jar
CONTEXT 기능
mySymfonyProject/SRC/사이트/CommonBundle/기능/컨텍스트/FeatureContext.php
<?php
namespace Site\CommonBundle\Features\Context;
use Behat\MinkExtension\Context\MinkContext;
use Behat\Symfony2Extension\Context\KernelAwareInterface;
use Symfony\Component\HttpKernel\KernelInterface;
class FeatureContext extends MinkContext implements KernelAwareInterface
{
/**
* Hold Symfony kernel object.
*
* @var object Kernel Object.
*/
protected $kernel;
/**
* Helps to use doctrine and entity manager.
*
* @param KernelInterface $kernelInterface Interface for getting Kernel.
*/
public function setKernel(KernelInterface $kernelInterface)
{
$this->kernel = $kernelInterface;
}
//And your own methods
}
TESTS
기능 파일을 가지고있을 때 이와 같이 실행할 수 있습니다 (이것은 한 번에 모두 실행됩니다). 자세한 내용은 behat doc을 참조하십시오.)
bin/behat @SiteCommonBundle
작성한 YML과 정확히 일치합니까? 그렇다면 두 번째 줄에 잘못 들여 쓰기가됩니다. 거기에 다른 들여 쓰기 수준이 있어야합니다. – kix