如何激活behat中的mink

时间:2012-09-16 15:35:00

标签: php bdd behat mink

我正在尝试使用behat和mink,阅读该链接:

http://docs.behat.org/cookbook/behat_and_mink.html#method-1-composer

并尝试在Behat框架中激活Mink,但它对我不起作用:(

这是文本表格手册

    And this executable will already autoload all the needed classes in order to activate MinkExtension through behat.yml.

Now lets activate it:

我在想他正在谈论 /vendor/behat/mink-extension/behat.yml

我已将这些行添加到该文件中

# behat.yml
default:
    extensions:
        Behat\MinkExtension\Extension:
            goutte: ~
            selenium2: ~

但是当我正在做$bin/behat -dl时,我只能看到

Given /^I am in a directory "([^"]*)"$/
Given /^I have a file named "([^"]*)"$/
 When /^I run "([^"]*)"$/
 Then /^I should get:$/

似乎mink-extension没有被激活......但是我如何激活它,如果我做了手册中所写的所有内容:(

P.S。我只是尝试在完全新的干净的地方(新文件夹)中遵循指令(从这里http://docs.behat.org/cookbook/behat_and_mink.html)但是它不起作用它向我显示下一个错误

bin/behat -dl

  [RuntimeException]                                                       
  Context class not found.                                                 
  Maybe you have provided wrong or no `bootstrap` path in your behat.yml:  
  http://docs.behat.org/guides/7.config.html#paths                         

但在教程中没有任何关于路径和yml修改的说法:( 也许是否存在任何更新的教程版本?

基于错误消息我必须在bootstrap文件夹中制作一些php文件,但它没有在教程中描述:(奇怪

解决:

$ mkdir behat_mink_test && cd behat_mink_test
$ touch composer.json
$ echo '{
>     "require": {
>         "behat/behat": "2.4.*@stable",
>         "behat/mink": "1.4.*@stable",
>         "behat/mink-extension": "*",
>         "behat/mink-goutte-driver": "*",
>         "behat/mink-selenium2-driver": "*"
>     },
>     "minimum-stability": "dev",
>     "config": {
>         "bin-dir": "bin/"
>     }
> }' > composer.json
$ curl http://getcomposer.org/installer | php
$ php composer.phar install
$ bin/behat -h
$ touch behat.yml
$ echo 'default:
>     extensions:
>         Behat\MinkExtension\Extension:
>             goutte: ~
>             selenium2: ~' > behat.yml
$ bin/behat -dl

最后它现在有效:)谢谢

1 个答案:

答案 0 :(得分:9)

您不应该编辑位于/vendor/behat/mink-extension/behat.yml中的behat.yml文件。您应该将这些行添加到proyect根目录下的behat.yml文件(bin子目录所在的目录)。如果那里没有behat.yml文件,只需创建它 -