2017-10-22 1 views
0

app()->environment()을 호출하는 함수에 대한 단위 테스트를 작성하고 있습니다. phpunit.xml 파일은 환경을 testing으로 설정합니다. 다른 환경에서도이 기능을 테스트하고 싶습니다.config()에 의해 설정된 값을 사용하지 않는 app() -> environment()

나는 시도했다 :

  • config('app.env', 'prod')
  • config('env', 'prod')
  • $_ENV['app.env'] = 'prod'
  • $_ENV['env'] = 'prod'

는 또한 오케스트라/테스트 벤치 패키지를 포함하고이 사용 :

protected function getEnvironmentSetUp($app) 
{ 
    //Both of the following 
    $app['config']->set('app.env', 'prod'); 
    $app['config']->set('env', 'prod'); 
} 

이들 중 어느 것도 출력이 app()->environment()으로 변경되지 않았습니다.

내가 누락 된 항목이 있습니까?

+0

당신은 Laravel과 Lumen을 모두 지정했습니다. 어느 버전을 사용하고 있습니까? 그들은 내부적으로 다르게 작동합니다. 이것은 오래된 Laravel 설치 또는 캐시 된 구성처럼 들립니다. – sisve

+0

@sisve 루멘 5.5 앱 패키지입니다. 패키지 디렉토리에서 테스트를 실행했습니다. 오케스트라/테스트 벤치는'app() -> environment()'를 실행하게합니다. 구성이 캐시 될 수있는 위치가 확실하지 않습니다. – Ethan22

답변

0

나는 ->environment() 명령의 코드를 살펴봄으로써 이것을 알아 냈습니다. 내가 쓴 내 테스트에서, 그래서 그것은 비교를 위해 $this['env'] 사용이 내가 그것을 작동시킬 수있는 유일한 방법이 될 것으로 보인다

app()['env'] = 'prod';

.

관련 문제