Sgo*_*kes 6 php phpunit symfony
我有一个symfony2应用程序,我正在使用phpunit.
我有一些单元测试,我使用模拟来模拟AppKernel和功能测试,这些测试向应用程序发出"真正的"请求.单独运行单元测试或功能测试时,一切正常.
当我想立刻运行所有测试时,它会变得很糟糕.单元测试完成后,phpunit就会停止,告诉我:
Fatal error: Cannot redeclare class AppKernel in C:\Users\sebastian\workspace\ppInterface\app\AppKernel.php on line 35
我不明白这一点,因为我认为phpunit会在它自己的环境中运行每个测试.情况似乎并非如此.我能做些什么来使事情正确并"重置"测试运行的环境?
cwe*_*ske 13
默认情况下,PHPUnit不会重置所有内容,尽管它是可能的.
包含 - 您的案例中的问题 - 不会重置(并且不能在一个单一过程中).解决方案是在您的文件或测试用例()或测试方法()中使用require_once代替require或使用进程隔离.phpunit.xml@runTestsInSeparateProcesses@runInSeparateProcess
您还可以影响测试之间重置的内容:
@backupGlobals@backupStaticAttributes| 归档时间: |
|
| 查看次数: |
3361 次 |
| 最近记录: |