1

有谁知道如何成功配置 Mink 以与 Behat 一起工作?如果有人不知道,Behat 是 PHP 的 BDD(行为驱动开发)框架,Mink 提供了一个浏览器模拟器抽象层来进行测试。

您可以在http://behat.org/上找到有关 Behat 的更多信息,在https://github.com/Behat/Minkhttp://www.knplabs.com/fr/blog/one-mink-to上找到有关Mink 的更多信息-统治他们所有

基本上我按照http://www.knplabs.com/fr/blog/one-mink-to-rule-them-all上的说明配置我的 Mink 以与我的 Behat 一起工作。我的behat.yml位于 Behat 文件夹中,而不是 Mink 文件夹中,如下所示:

default:
  paths:
    features:               %%BEHAT_CONFIG_PATH%%/features
    formatter:
    name:                   progress
pretty:
  formatter:
    name:                   pretty
    parameters:
      multiline_arguments:  false
default:
    environment:
        parameters:
            start_url: http://localhost/
imports:
    - mink/behat.yml

我的features/support/boostrap.php中也有以下代码

require_once 'mink/autoload.php';

但是,在我的features/support/env.php中有以下代码

$world->client = new \Goutte\Client;

会给我一个PHP 致命错误:当我使用 behat 命令时,在终端(OSX)中找不到类 'Goutte\Client' 。即使我的behat /Mink/Vendor/Goutte文件夹中有 goutte.phar,也会发生这种情况。

希望任何人都可以告诉我我哪里出错了,如果问题中有任何我不清楚的地方,请告诉我。非常感谢。

4

1 回答 1

1

这是:https ://github.com/knplabs/mink-demo ;-)

基本上,使用 Mink,您不需要创建或要求 Goutte 客户端,它由 Mink 自动完成。您的 $world 也得到了增强,现在您可以在步骤定义中获取 mink 会话:

$downloadsLink = $world->getSession()->getPage()->findLink('downloads');

此外,您忘记包含 PHPUnit!

请参阅 mink-demo 以获得很好的示例 ;-)

于 2011-06-02T15:54:11.460 回答