2

たとえば、Mink を使用してどのドメインの webapp をテストするかという単純なBehat機能があります (ファイルにhttp://myapp.localhost次のようなレコードがあります)。127.0.0.1 myapp.localhosthosts

問題は、この機能を実行すると、Mink ドライバーがアプリ内の任意の URL を参照したときに (ステップなどで) 取得するものはすべて、ドメインを解決できないWhen I go to "/some/url"というプロキシ サーバーからのエラー ページです。myapp.localhostプロキシ サーバーのアドレスは env によって設定されます。変数: export http_proxy=....

外部の Web サイトは問題なく動作します ( Behat docsのウィキペディアの例のように)。

ドメインが*.localhost.

Mink にプロキシを無視させる方法は?

今日は問題を特定するために 1 時間費やしました。

4

1 に答える 1

2

私が使用するソリューションはあまりエレガントではありませんが、私が考えることができる最も簡単な方法です。Behatを呼び出す次の機能を持つBashで書かれたある種のビルドツールがあります。

function run_behat {
  local http_proxy_backup=$http_proxy
  export http_proxy=;

  bin/behat $@ # passing all args to behat
  # if you use phar version of behat, it will be like `php behat.phar $@`

  export http_proxy=$http_proxy_backup
}

基本的には、一時的http_proxyに空の値に設定し、behat を呼び出してからhttp_proxy初期値に戻すだけです。

次のようにスクリプトから呼び出されます。

if [ $1 == "behat" ]; then 
  run_behat ${*:2}; # pass all args but 1st
fi
于 2012-11-22T17:29:06.623 に答える