Laravel5のヘルパーをPHPUnitでオーバーライドする

AsTeR

私はここで提供されているアドバイスに従って、route自分自身をオーバーライドし、独自のものhelpers.php作成してブートストラップにロードしています。ブラウザでは正常に動作しますが、PHPUnitではそれほど動作しません。

PHP Fatal error:  Cannot redeclare route() (previously declared in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:707) in /var/www/app/Http/helpers.php on line 25

PHPUnitが設定されたブートストラップの代わりにベンダーの自動ロードを呼び出しているようで、それphpunit.xmlをオーバーライドする方法がわかりません。

これは、Laravelの内部で例外をスローしたときに取得するコールスタックです。 helpers.php

#0 /var/www/vendor/composer/autoload_real.php(66): require()
#1 /var/www/vendor/composer/autoload_real.php(56): composerRequirefaa86f5c74caea0c3ebf4fa6247e01ed('f0906e6318348a7...', '/var/www/vendor...')
#2 /var/www/vendor/autoload.php(7): ComposerAutoloaderInitfaa86f5c74caea0c3ebf4fa6247e01ed::getLoader()
#3 /var/www/vendor/phpunit/phpunit/phpunit(51): require('/var/www/vendor...')
#4 {main}
  thrown in /var/www/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 699

私がコントロールしていない要素だけ。

編集

composer.jsonヘルパーをロードするために、を編集しました今生成しvendor/composer/autoload_files.phpます:

<?php

// autoload_files.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    // ...

    'f0906e6318348a765ffb6eb24e0d0938' => $vendorDir . '/laravel/framework/src/Illuminate/Foundation/helpers.php',
    '58571171fd5812e6e447dce228f52f4d' => $vendorDir . '/laravel/framework/src/Illuminate/Support/helpers.php',
    '224ac75459a4044275cfdffe33336135' => $baseDir . '/app/Http/helpers.php',
);

基本的に、Laravelの前にヘルパーを注入する方法があれば、これで問題を解決できます。

私はこのことをデバッグするのが大好きで、頭の中でこの小さな歌「これらのきちんとした静的ヘルパーを持っているなんて素晴らしいアイデア」を聞いています。

AsTeR

質問編集を読むと、自動ロードでのファイルの挿入が機能しないことがわかります。

https://packagist.org/packages/funkjedi/composer-include-filesはこれを解決するためにここにあります。

ファーストラン:

composer require funkjedi/composer-include-files

次に、composer.json extraフィールドを更新します

"extra": {
    "include_files": [
        "app/Http/helpers.php"
    ]
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravel5のヘルパーをPHPUnitでオーバーライドする

分類Dev

CheckboxForをオーバーライドするヘルパーの作成

分類Dev

Laravel5の構成-環境とオーバーライド

分類Dev

Laravel5区切り文字のオーバーライド

分類Dev

Laravel5複数の認証ドライバーを実装する

分類Dev

Laravel5メソッドインジェクションを他のパラメーターで使用する

分類Dev

Laravel5はsummernote画像のアップロードをオーバーライドします

分類Dev

Laravel5のすべてのコントローラーで利用可能なカスタムヘルパー関数を作成する方法

分類Dev

Laravel5で複数のファイルをアップロードする

分類Dev

Laravel5でワイルドカードルートを確認する

分類Dev

Rails変換ヘルパーをオーバーライドする

分類Dev

define_methodを使用してRailsのパスヘルパーをオーバーライドする

分類Dev

Laravelの言語ファイルをパッケージ言語でオーバーライドする方法

分類Dev

このコードで使用されている「オーバーライドメソッド」パターンを特定するためのヘルプが必要

分類Dev

応答データをバインドしてlaravel5で表示する方法

分類Dev

ヘルムのサブチャートの値をプログラムでオーバーライドする

分類Dev

ヘルム:名前のピリオドで値をオーバーライドする方法

分類Dev

ヘルム値をオーバーライドする方法

分類Dev

PHPUnitテストでLaravelの例外ハンドラーをオーバーライドするにはどうすればよいですか?

分類Dev

Laravel5で複数の認証ガードを使用する場合のリダイレクトループ

分類Dev

コントローラーフィルターオーバーライドヘルパーを作成するにはどうすればよいですか

分類Dev

Laravel5のミドルウェアWebグループ内でサブドメインを取得する

分類Dev

Laravelでパッケージのローカリゼーションをオーバーライドする

分類Dev

Spreeのヘルパーのメソッドをオーバーライドすることはできません

分類Dev

matlabのヘルプ関数をオーバーライドする方法は?

分類Dev

別のコントローラーでモデルインスタンスを使用する-Laravel5

分類Dev

別のコントローラーでモデルインスタンスを使用する-Laravel5

分類Dev

PHPUnit機能テストでクラスをオーバーライドする

分類Dev

ルーメンでヘルパーを使用してドライバーパターンを実装する方法

Related 関連記事

  1. 1

    Laravel5のヘルパーをPHPUnitでオーバーライドする

  2. 2

    CheckboxForをオーバーライドするヘルパーの作成

  3. 3

    Laravel5の構成-環境とオーバーライド

  4. 4

    Laravel5区切り文字のオーバーライド

  5. 5

    Laravel5複数の認証ドライバーを実装する

  6. 6

    Laravel5メソッドインジェクションを他のパラメーターで使用する

  7. 7

    Laravel5はsummernote画像のアップロードをオーバーライドします

  8. 8

    Laravel5のすべてのコントローラーで利用可能なカスタムヘルパー関数を作成する方法

  9. 9

    Laravel5で複数のファイルをアップロードする

  10. 10

    Laravel5でワイルドカードルートを確認する

  11. 11

    Rails変換ヘルパーをオーバーライドする

  12. 12

    define_methodを使用してRailsのパスヘルパーをオーバーライドする

  13. 13

    Laravelの言語ファイルをパッケージ言語でオーバーライドする方法

  14. 14

    このコードで使用されている「オーバーライドメソッド」パターンを特定するためのヘルプが必要

  15. 15

    応答データをバインドしてlaravel5で表示する方法

  16. 16

    ヘルムのサブチャートの値をプログラムでオーバーライドする

  17. 17

    ヘルム:名前のピリオドで値をオーバーライドする方法

  18. 18

    ヘルム値をオーバーライドする方法

  19. 19

    PHPUnitテストでLaravelの例外ハンドラーをオーバーライドするにはどうすればよいですか?

  20. 20

    Laravel5で複数の認証ガードを使用する場合のリダイレクトループ

  21. 21

    コントローラーフィルターオーバーライドヘルパーを作成するにはどうすればよいですか

  22. 22

    Laravel5のミドルウェアWebグループ内でサブドメインを取得する

  23. 23

    Laravelでパッケージのローカリゼーションをオーバーライドする

  24. 24

    Spreeのヘルパーのメソッドをオーバーライドすることはできません

  25. 25

    matlabのヘルプ関数をオーバーライドする方法は?

  26. 26

    別のコントローラーでモデルインスタンスを使用する-Laravel5

  27. 27

    別のコントローラーでモデルインスタンスを使用する-Laravel5

  28. 28

    PHPUnit機能テストでクラスをオーバーライドする

  29. 29

    ルーメンでヘルパーを使用してドライバーパターンを実装する方法

ホットタグ

アーカイブ