3

次のパッケージを使用しています: https://github.com/Maatwebsite/Laravel-Excelバージョン 2 と Laravel バージョン 5.1

次のコードでコントローラーメソッドを取得しました。

....
return Excel::create('List', function($excel) use ($list)
{
  $excel->sheet('List', function($sheet) use ($list)
  {
    $sheet->fromModel($list);
  });
})
->download('csv');  

次のような簡単なテスト:

$this->call('GET', 'route/to/csv', [
    'param' => 'value',
]);

$this->dump();

パッケージのこの行[ERROR]: Headers already sentからの上記のテスト出力。

コントローラー メソッドは正常に動作しますが、テストできません。

--stderrparamでphpunitを実行しようとしました。その場合、エラーはスローされませんが、CSV ファイルの出力をコンソールにダンプして終了するだけです。また、注釈を付けてテストを実行しようとしましたが@runInSeparateProcess、次のようなエラーが発生しました。

PHPUnit_Framework_Exception: PHP Notice:  Constant LARAVEL_START already defined in bootstrap/autoload.php on line 3
....
PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class env does not exist' in vendor/laravel/framework/src/Illuminate/Container/Container.php:736

これは Laravel-Excel パッケージのバグでしょうか、それともテストが間違っているのでしょうか?

4

1 に答える 1