samedi 25 juin 2016

Which is an acceptable approach for testing commands in Laravel 5.2 with PHPUnit?

I'm trying to write test cases for Commands in PHPUnit, without much success.

At this point I've tried many things, being probably this post the closest approach I found for my purpose. Still, I'm struggling a lot to get this working.

Follows an example output for you:

alariva@trinsic ~/timegrid.io/app $ phpunit --filter=SendBusinessReportTest
PHP Warning:  The use statement with non-compound name 'Artisan' has no effect in /home/alariva/http://ift.tt/28Yrv9p on line 4
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_Command->handleArguments() /usr/share/php/PHPUnit/TextUI/Command.php:138
PHP   5. PHPUnit_Util_Configuration->getTestSuiteConfiguration() /usr/share/php/PHPUnit/TextUI/Command.php:657
PHP   6. PHPUnit_Util_Configuration->getTestSuite() /usr/share/php/PHPUnit/Util/Configuration.php:789
PHP   7. PHPUnit_Framework_TestSuite->addTestFiles() /usr/share/php/PHPUnit/Util/Configuration.php:873
PHP   8. PHPUnit_Framework_TestSuite->addTestFile() /home/alariva/http://ift.tt/299IIuq
PHP   9. PHPUnit_Util_Fileloader::checkAndLoad() /home/alariva/http://ift.tt/28YrJNO
PHP  10. PHPUnit_Util_Fileloader::load() /usr/share/php/PHPUnit/Util/Fileloader.php:76
PHPUnit 4.8.26 by Sebastian Bergmann and contributors.

PHP Fatal error:  Call to undefined method App\Console\Kernel::resolve() in /home/alariva/http://ift.tt/299ITG7 on line 217
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:176
PHP   5. PHPUnit_Framework_TestSuite->run() /home/alariva/http://ift.tt/28YrtOW
PHP   6. PHPUnit_Framework_TestSuite->run() /home/alariva/http://ift.tt/299IPX7
PHP   7. PHPUnit_Framework_TestCase->run() /home/alariva/http://ift.tt/299IPX7
PHP   8. PHPUnit_Framework_TestResult->run() /home/alariva/http://ift.tt/28Ys9DA
PHP   9. PHPUnit_Framework_TestCase->runBare() /home/alariva/http://ift.tt/299ITGe
PHP  10. PHPUnit_Framework_TestCase->runTest() /home/alariva/http://ift.tt/28Yru59
PHP  11. ReflectionMethod->invokeArgs() /home/alariva/http://ift.tt/299IIe7
PHP  12. SendBusinessReportTest->it_tests_command() /home/alariva/http://ift.tt/299IIe7
PHP  13. Illuminate\Support\Facades\Artisan::resolve() /home/alariva/http://ift.tt/28YrsKv
PHP  14. Illuminate\Support\Facades\Facade::__callStatic() /home/alariva/http://ift.tt/28YrsKv

  [Symfony\Component\Debug\Exception\FatalErrorException]  
  Call to undefined method App\Console\Kernel::resolve() 

You can find my current attempt here, (broken tests), but maybe you can hint me something I'm missing :)

Side Note: You may ask why PHPUnit and not another testing framework. So far I'm generating my test coverage with PHPUnit and I'd like to stick to it until I feel the actual need to switch. However, all suggestions are welcome.

Thanks in advance!

Aucun commentaire:

Enregistrer un commentaire