Behat在Laravel 5中读取默认的.env文件,而不是.env.behat

时间:2015-04-03 17:16:34

标签: laravel laravel-5 behat

FeatureContext.php

/**
 * @Then I can do something with Laravel
 */
public function iCanDoSomethingWithLaravel()
{
    PHPUnit::assertEquals('.env.behat', app()->environmentFile());
    PHPUnit::assertEquals('acceptance', env('APP_ENV'));
}

运行behat后的控制台输出

场景:仪表板已锁定到访客

 And I can do something with Laravel # FeatureContext::iCanDoSomethingWithLaravel()
   Failed asserting that two strings are equal.
   --- Expected
   +++ Actual
   @@ @@
   -'acceptance'
   +'local'

behat.yml

default:
  extensions:
    Laracasts\Behat:
      env_path: .env.behat
    Laracasts\Behat\ServiceContainer\BehatExtension: ~
    Behat\MinkExtension\ServiceContainer\MinkExtension:
      default_session: laravel
      laravel: ~

.ENV

APP_ENV=local
APP_DEBUG=true

.env.behat

APP_ENV=acceptance
APP_DEBUG=true

1 个答案:

答案 0 :(得分:1)

如果您使用的是Laravel Homestead,则问题不在于阅读.env文件,而是从APP_ENV中的默认homestead.yaml设置中读取该文件的问题。文件。从您的APP_ENV文件中取出homestead.yaml变量,然后重新设置您的宅基地框,它应该可以正常工作。

这些是homestead.yaml:

中的违规行
- key: APP_ENV
  value: local

我确实遇到了同样的问题,这就是为我解决的问题。