2016-09-07 15 views
0

私はTwigとPHPUnit(どちらも作曲家と共にインストールされ、スリム/ビューが追加されています)でいくつかの単体テストを実装したいと思います。しかし、テンプレート生成をテストしようとすると{{baseUrl()}}でブロックされます。しかし、テンプレートはphpunitを使わずにナビゲータでテストするとうまく動作します。ここtwig with phpunit

はエラーメッセージです:this articleで説明したように

Twig_Error_Runtime: An exception has been thrown during the rendering of a template 
("Undefined index: REQUEST_METHOD") in "application/General.twig" at line 21. 

答えて

1

、それはスリムなフレームワークのためのテストケースを書くことはそう簡単ではありません。あなたは次のようにSLIM環境を模擬できます

// Prepare a mock environment 
     Environment::mock(array_merge(array(
      'REQUEST_METHOD' => $method, 
      'PATH_INFO' => $path, 
      'SERVER_NAME' => 'slim-test.dev', 
     ), $options)); 
     $app = new \Slim\Slim(); 
     $this->app = $app; 
     $this->request = $app->request(); 
     $this->response = $app->response(); 

完全なコード例をthis gist

ホープこのヘルプ

+1

フィン作品!どうもありがとう !私はスリムではなく、Twigに関連するエラーを疑った^^ –

+0

こんにちは@AmaniteLaurineあなたは歓迎です! – Matteo