2016-10-30 13 views
4

愚かな質問... symfonyのドキュメントでは、ユニットテストクラスは\PHPUnit_Framework_TestCaseですが、PHPUnitのドキュメントでは、テストクラスはPHPUnit\Framework\TestCaseまで拡張されています。違いはありますか、それらは同じですか、または_\と等価な微妙なPHP機能がありませんか? PHPUnit_Framework_TestCaseまたは.. TestCaseを使用

実際に自分自身でテストするのは短く、Symfonyでどちらか、あるいは1つだけ使用できますか?

更新:これらの2つのクラスは、PHPUnitのバージョンの違いに過ぎません。私自身の研究と記録のために、symfony 3.1はまだKernelTestCaseクラスの\PHPUnit_Framework_TestCaseを拡張してsymfonyの機能テストを強化しています。コードを壊すのを避けるために、私はsymfonyでユニットテストを行うときに\PHPUnit_Framework_TestCaseを継承して、安全に& extend WebTestCaseを継承します。これらの単体テストはPHPUnit 5.6でも動作します。

+0

あなたはまた、次の質問への回答からのアプローチを使用することができます:

は非常によく似た質問を参照してくださいhttps://stackoverflow.com/questions/42811164/class-phpunit-framework-testcase-not- found/42828632#42828632 – Robson

答えて

0

これらは同じですが、PHPUnit 5.4以降はTestCaseを使用することをお勧めします。しかし、あなたがPHPUnit_Framework_TestCaseのままであれば問題ありません。 PHPUnit can't found the "TestCase" class

+0

これは、PHPUnitの変更に伴うSymfonyの古いノートのケースですか? – SomeDude

+0

symfony2がPHPUnit_Framework_TestCaseをどこかで使用している場合は、古いコードかPHPUnit 5.4+との互換性がないためです。 – martin

+0

私はそれを注意深く見ていきます。特に、コンポーザーの設定では、プロジェクトにどのバージョンがインストールされているかを確認します。私は技術的にSymfony 3.1を使っていますが、StackExchangeでもsymfony2タグしか表示されません。アップデート:ComposerはPHPUnitのグローバルインストールを延期し、ローカルコピーはインストールしませんでした。私のグローバルバージョンは5.6 – SomeDude

関連する問題