2017-06-29 6 views
1

最近SymfonyアプリケーションをSymfony 2.7にアップグレードし、同時に私はsymfony/phpunit-bridgeをインストールしました。Symfony PHPユニットブリッジのみ非推奨通知を表示

のインストール後に最初に実行されたphpunitでは、完全なテストスイートを実行した後に821の非推奨通知が届きました。

完全なテストスイートが実行されるのを待たずに、廃止問題が発生していることがわかりました。私はこれがすばやく実行されることを望んでいたし、私に1つまたは複数の廃止予定の通知を受け取って修正することになるだろう。

この2回目を私が実行したのはphpunitです。廃止予定の通知はありませんでした。私は彼の奇妙だと思って、をもう一度、完全なテストスイートと個々のテストの両方に対して繰り返しました。まだ廃止予定の通知はありません。

phpunitの新しいバージョンが役立つと思われました。私は4.8.34を使い、〜5.0に切り替えることに決めました。

phpunitの次回の実行では、多くの非推奨通知があります。物事は良く見えていた。

もう一度phpunitを実行すると、廃止予定の通知はありません。

私はphpunit 4.8.34に戻って切り替えました。...タダ...廃止予定は一度だけ気付きました。

symfony/phpunit-bridgeの非推奨通知は、初めて実行されたときにのみ表示されます。これを引き起こす原因は何でしょうか?

更新

私は以来、テストキャッシュがテストを実行する前にクリアされている場合、非推奨の通知が提示されることに気付きました。

この通知は、Symfony\Component\DependencyInjection\Definition::getFactoryServiceと同様の方法の呼び出しを参照していることに気付きました。

アプリケーションで定義されているサービスのどれも工場を使用していません。これは、ベンダーが何とか何か変なことをしていることを示唆しています。

私は非推奨通知を今すぐ行うことができるので、この質問は終了します。

+0

意図ではありませんか? ... https://symfony.com/doc/current/components/phpunit_bridge.html ... – hakre

+0

@hakreいいえ、非推奨通知は 'symfony/phpunit-bridge'を使用しているときは常にテストに関して表示する必要があります。 –

+0

ここで問題となるのは、ベンダーサービスが構築されているとき(何か起こってはならないこと)と、再度発生しなかったキャッシュプライムがあるときに非推奨通知が発生していたことです。 –

答えて

2

コンテナのビルド中に表示される廃止予定の通知が表示されます。キャッシュが既にビルドされている場合、それは再び行われません(devであっても、再構築する必要があるかどうかを確認するのに時間がかかります)。

したがって、廃止予定を確認するには、キャッシュをクリアするか、出力をコピーする必要があります。

注:ほとんどの場合、廃止予定のコードはフレームワークの内部にあるため、近い将来リリースで整理されますが、必要なものを持つ独自のコード(またはライブラリ)のみです。行動へ。

+0

はい私はちょっと混乱した後、同じ結論になった! –

関連する問題