3

我已经使用 Mink Extension 的预定义步骤定义运行了一些测试。只要他们使用英语,他们就可以工作。

现在我用德语步骤尝试了以下场景:

# language: de
Funktionalität: Demo

  @javascript
  Szenario: Test 1
    Angenommen I am on "/"
    Angenommen ich bin auf "/"
    ...

Behat 现在告诉我德语步骤定义未定义,而英语版本有效。

根据 CLI 帮助,behat --lang de -dl应该显示翻译的定义,但它只显示英文的...

我在这里做错了什么?

编辑:这是一个重建场景的脚本。它遵循临时目录中的文档 ( http://extensions.behat.org/mink/#through-phar ) 中的安装步骤并运行测试功能文件。

#!/bin/bash

set -e

TEMPDIR=/tmp/behat-$$
mkdir $TEMPDIR
cd $TEMPDIR

curl http://behat.org/downloads/behat.phar >behat.phar
curl http://behat.org/downloads/mink.phar >mink.phar
curl http://behat.org/downloads/mink_extension.phar >mink_extension.phar

cat >behat.yml <<EOF
default:
  extensions:
    mink_extension.phar:
      mink_loader: 'mink.phar'
      base_url:    'http://behat.org'
      goutte:      ~
EOF

mkdir features
cat >features/test.feature <<EOF
# language: de
Funktionalität: Demo

  Szenario: Öffne Startseite DE + EN
    Angenommen I am on "/"
    Angenommen ich bin auf "/"
EOF

php behat.phar
4

1 回答 1

4

基本上你没有做错什么。

虽然 Behat/Gherkin 本身的翻译包含在 behat.phar 文件中,但 MinkExtension 中步骤定义的翻译在 mink_extension.phar 档案中缺失。

这似乎是因为构建脚本仅包含 MinkExtension/src/ 中的文件,而没有 MinkExtension/i18n/。你可以打开一个问题给 MinkExtension来解决这个问题。

作为一种解决方法,我建议使用 composer 而不是使用 phar 档案来安装 Behat/Mink。

创建以下 composer.json 文件:

{
    "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/"
    }
}

然后安装它:

curl http://getcomposer.org/installer | php
php composer.phar install
于 2013-05-11T11:53:54.557 回答