跟踪PHPUnit错误

时间:2015-01-16 17:00:09

标签: php laravel-4 phpunit

我在找到我在PHPUnit中收到的错误来源时遇到了问题。如果我运行没有过滤器的phpunit,我将收到"字节耗尽"错误。 但是如果我用phpunit --filter test_name一次一个地运行我的测试 - 我的所有测试都将通过。

下面发布的堆栈跟踪表明我的一个名为KInit的测试存在问题,但是如果自己运行该测试,则一切都会通过。 我也尝试将测试移出目录,但错误只会指向下一个运行的测试。我也试过用sudo运行,但效果不好。 如何获得有关此处发生的更多信息?

我正在运行PHPUint来测试laravel 4.2应用。 东西的版本 PHPUnit 4.1.4 PHP 5.5.18 Ubuntu 12.04 64位

下面的堆栈跟踪显示错误在:

laravel/framework/src/Illuminate/Filesystem/Filesystem.php

但有时会读到

/laravel/framework/src/Illuminate/Cache/CacheServiceProvider.php

完整堆栈跟踪:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 15886 bytes) in /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 31
PHP Stack trace:
PHP   1. {main}() /usr/local/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:586
PHP   3. PHPUnit_TextUI_Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:132
PHP   4. PHPUnit_TextUI_TestRunner->doRun() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:179
PHP   5. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:426
PHP   6. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:675
PHP   7. PHPUnit_Framework_TestSuite->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:675
PHP   8. PHPUnit_Framework_TestCase->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:675
PHP   9. PHPUnit_Framework_TestResult->run() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:758
PHP  10. PHPUnit_Framework_TestCase->runBare() phar:///usr/local/bin/phpunit/phpunit/Framework/TestResult.php:686
PHP  11. KInitTest->setUp() phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:818
PHP  12. TestCase->setUp() /opt/pplus/laravel/app/tests/unit/classes/KInit/KInitTest.php:16
PHP  13. Illuminate\Foundation\Testing\TestCase->setUp() /opt/pplus/laravel/app/tests/TestCase.php:35
PHP  14. Illuminate\Foundation\Testing\TestCase->refreshApplication() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:31
PHP  15. TestCase->createApplication() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:42
PHP  16. require() /opt/pplus/laravel/app/tests/TestCase.php:17
PHP  17. require() /opt/pplus/laravel/bootstrap/start.php:60
PHP  18. Illuminate\Foundation\ProviderRepository->load() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Foundation/start.php:210
PHP  19. Illuminate\Foundation\ProviderRepository->loadManifest() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:51
PHP  20. Illuminate\Filesystem\Filesystem->get() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:187
PHP  21. file_get_contents() /opt/pplus/laravel/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:31

1 个答案:

答案 0 :(得分:1)

我找到了答案。我不得不增加/etc/php5/cli/php.ini中的memory_limit。我总是忘记phpunit使用不同的ini文件而不是apache。