读取默认.env文件,而不是Laravel 5中的.env.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'));
}

在后运行控制台输出

场景:仪表板锁定为访客

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

behat.yml

default:
  extensions:
    LaracastsBehat:
      env_path: .env.behat
    LaracastsBehatServiceContainerBehatExtension: ~
    BehatMinkExtensionServiceContainerMinkExtension:
      default_session: laravel
      laravel: ~

.env

APP_ENV=local
APP_DEBUG=true

.env.behat

APP_ENV=acceptance
APP_DEBUG=true

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

这些是您的homestead.yaml: 中的违规行

- key: APP_ENV
  value: local

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

最新更新