使用Behat预定义步骤的翻译(Phar安装)

使用Behat预定义步骤的翻译(Phar安装),behat,mink,Behat,Mink,我已经使用Mink扩展的预定义步骤定义运行了一些测试。只要是英语,他们就可以工作 现在,我尝试了以下德国步骤的场景: # language: de Funktionalität: Demo @javascript Szenario: Test 1 Angenommen I am on "/" Angenommen ich bin auf "/" ... Behat现在告诉我德语步骤定义是未定义的,而英语版本可以工作 根据CLI帮助,behat--lang de

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

现在,我尝试了以下德国步骤的场景:

# language: de
Funktionalität: Demo

  @javascript
  Szenario: Test 1
    Angenommen I am on "/"
    Angenommen ich bin auf "/"
    ...
Behat现在告诉我德语步骤定义是未定义的,而英语版本可以工作

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

我做错了什么

编辑: 下面是重建场景的脚本。它遵循临时目录中docs()中的安装步骤,并运行测试功能文件

#!/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
#/bin/bash
set-e
TEMPDIR=/tmp/behat-$$
mkdir$TEMPDIR
cd$TEMPDIR
卷曲http://behat.org/downloads/behat.phar >比哈特·法尔
卷曲http://behat.org/downloads/mink.phar >水貂
卷曲http://behat.org/downloads/mink_extension.phar >水貂

cat>behat.yml基本上你没有做错什么

虽然Behat/Gherkin本身的翻译包含在Behat.phar文件中,但mink_extension.phar存档中缺少来自MinkExtension的步骤定义的翻译

这种情况似乎是因为只包含MinkExtension/src/中的文件,而不包含MinkExtension/i18n/。你可以打开一个at来修理这个

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

创建以下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