小编cut*_*e.S的帖子

Mink不适用于behat 3.0.12

我安装了Behat,Mink和其他一些相关的软件包.这是我的composer.json文件:

  "require":{
    //...
    "behat/behat": "~3.0.6",
    "behat/symfony2-extension": "dev-master",
    "behat/mink": "dev-master",
    "behat/mink-browserkit-driver": "dev-master",
    "behat/mink-goutte-driver": "dev-master",
    "behat/mink-selenium2-driver": "dev-master",
    "phpunit/php-code-coverage": "dev-master",
    "phpunit/phpunit-mock-objects": "dev-master",
    "phpunit/phpunit": "dev-master"
   }
Run Code Online (Sandbox Code Playgroud)

这是我的behat.yml文件:

default:
  extensions:
    Behat\Symfony2Extension:
      mink_driver: true
      kernel:
        env: test
        debug: true
    Behat\MinkExtension\Extension:
        base_url: 'http://localhost/app_test.php/'
        #javascript_session: sahi
        browser_name: chrome
        sahi:
        goutte: ~
        selenium2: ~
paths:
    features: features
    bootstrap: %behat.paths.features%/Context
Run Code Online (Sandbox Code Playgroud)

现在当我运行behat时出现以下错误: [Behat\Testwork\ServiceContainer\Exception\ExtensionInitializationException]
Behat\MinkExtension\Extension无法找到扩展文件或类.

有谁知道如何解决这一问题?提前致谢.

解决了:

我只是忘了添加这一行:

"require": {
//...
"behat/mink-extension": "dev-master",
//... }
Run Code Online (Sandbox Code Playgroud)

并在你的behat.yml:评论这个:

# mink_driver: true
Run Code Online (Sandbox Code Playgroud)

并改变这个:

Behat\MinkExtension\Extension:
Run Code Online (Sandbox Code Playgroud)

对此:

Behat\MinkExtension:
Run Code Online (Sandbox Code Playgroud)

symfony behat mink

24
推荐指数
1
解决办法
5937
查看次数

get('doctrine')之间的区别; 和getDoctrine();

在Symfony中,我找到了三种访问doctrine服务和实体管理器的方法,如下所示:

$em = $this->getDoctrine()->getManager();

$em = $this->get('doctrine')->getEntityManager();

$em = $this->container->get('doctrine.orm.entity_manager');
Run Code Online (Sandbox Code Playgroud)

任何人都可以请他们解释他们的分歧,并解释我们何时应该使用其中的哪一个.

service entity symfony doctrine-orm

3
推荐指数
1
解决办法
3095
查看次数

标签 统计

symfony ×2

behat ×1

doctrine-orm ×1

entity ×1

mink ×1

service ×1