php - 如何在 behat 中激活 mink

标签 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 没有激活...但是我如何激活它,如果我做了手册中写的一切:(

附言我只是尝试在全新的干净位置(新文件夹)中按照说明(来自此处 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

现在终于可以用了:)谢谢

最佳答案

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

关于php - 如何在 behat 中激活 mink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12448209/

相关文章:

javascript - 使用 React.js 进行 TDD/BDD?

symfony - Goutte 不提交表格

php - 将 PHP 变量日期转换为希伯来语本地日期

php - file_put_contents 不适用于 json laravel 和 php

php - 空文件问题

testing - 如何显式停止场景并继续 cucumber JVM 中的其他场景

cucumber - cucumber 场景中的随机字符串

php - SQL 数据库密码保护提交

testing - 为什么 Jenkins 不正确地解析我的 JUnit 报告?

laravel - 如何从 Behat 测试内部运行 shell 命令?