Phpunit Artisan: Llame a explotar espera que el parámetro 2 sea una cadena -- phpunit campo con laravel-5.1 campo con laravel-artisan camp Relacionados El problema

PhpUnit Artisan:call explode expects parameter 2 to be string


0
vote

problema

Español

Estoy tratando de probar un controlador larsaver 5,1 con phpunit, ya que estoy creando una clase heredando de testcase , y usando DatabaseTransacciones y sideliddleware rasgos.

Dentro de la clase IM implementando el método setupfefeforeclass que contiene:

  Artisan::call('migrate:refresh');   

Cuando intento ejecutar la prueba, obtengo el siguiente error:

  1) JugadoresControllerTest::test_Index_trae_arreglo_de_jugadores ErrorException: explode() expects parameter 2 to be string, array given  /home/vagrant/.composer/vendor/illuminate/support/helpers.php:390 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Arr.php:319 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Collection.php:428 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:1548 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php:53 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:79 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:74 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Container/Container.php:503 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Command.php:150 /home/vagrant/Code/marcadores/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:259 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Command.php:136 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Application.php:62 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:152 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:210 /home/vagrant/Code/marcadores/tests/unit/JugadoresControllerTest.php:34 /home/vagrant/Code/marcadores/tests/unit/JugadoresControllerTest.php:34 /home/vagrant/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:151 /home/vagrant/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:103   

Espero que cualquiera pueda ayudarme!

Original en ingles

I'm trying to test a Laravel 5.1 controller with PhpUnit, for that im creating a class inheriting from TestCase, and using DatabaseTransactions and WithoutMiddleware traits.

Within the class im implementing the setUpBeforeClass method which contains:

Artisan::call('migrate:refresh'); 

When i try to run the test I get the following error:

1) JugadoresControllerTest::test_Index_trae_arreglo_de_jugadores ErrorException: explode() expects parameter 2 to be string, array given  /home/vagrant/.composer/vendor/illuminate/support/helpers.php:390 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Arr.php:319 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Collection.php:428 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:1548 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php:53 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:79 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:74 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Container/Container.php:503 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Command.php:150 /home/vagrant/Code/marcadores/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:259 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Command.php:136 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Console/Application.php:62 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:152 /home/vagrant/Code/marcadores/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:210 /home/vagrant/Code/marcadores/tests/unit/JugadoresControllerTest.php:34 /home/vagrant/Code/marcadores/tests/unit/JugadoresControllerTest.php:34 /home/vagrant/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:151 /home/vagrant/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:103 

Hope anyone can helpme!

        

Lista de respuestas

2
 
vote

No sé si alguna vez lo descubrimos, pero me encontré con un problema similar al tratar de ejecutar pruebas PHPUnit en Laravel 5.1. Aparentemente, tuve algunas compilaciones de proveedores desactualizadas en My Global Composer Install (como se reverenció con su error: /home/vagrant/.composer/vendor/illuminate/support/helpers.php:390 )

Todo lo que hice fue CD a mi directorio compositor: cd /home/vagrant/.composer y RAN composer update

Esto actualizó mi compositor global y todo funcionó como se esperaba.

 

I don't know if you ever figured this out, but I ran into a similar problem when trying to run phpunit tests under laravel 5.1. Apparently I had some out-of-date vendor builds on my global composer install (as reverenced by your error: /home/vagrant/.composer/vendor/illuminate/support/helpers.php:390)

All I did was cd to my composer directory: cd /home/vagrant/.composer and ran composer update

This updated my global composer and everything worked as expected.

 
 
   
   

Relacionados problema

0  Laravel - Creado comando que no trabaja en alojamiento compartido  ( Laravel created command not working on shared hosting ) 
Tengo mi proyecto de Laravel desplegado en el alojamiento compartido, e hice un comando que elimine algunas imágenes antiguas, el comando es php artisan dele...

1  Laravel 5.4 RunTimeException] El nombre del directorio no debe estar vacío  ( Laravel 5 4 runtimeexception directory name must not be empty ) 
Estoy aprendiendo a Laravel 5 y lo estoy amando. Sin embargo, tengo un problema, mi comando php artisan dejó de funcionar de repente. Muestra este error ...

1  Laravel "Artisan Make: Observer" falla  ( Laravel artisan makeobserver fails ) 
Estoy tratando de generar un proveedor usando Artisan como se describe en la página de documentación [1] ejecutando: php artisan make:observer AdServic...

2  Base de datos de Laravel Generar del modelo  ( Laravel generate database from model ) 
Estoy usando un proyecto existente de Laravel y este proyecto existente ya tiene modelos, aquí hay un ejemplo de uno: <?php /** * Created by Reliese Mode...

0  PHP Artisan no puede hacer migrar  ( Php artisan cant make migrate ) 
Hola, tengo problemas con Haz la migración en mi servidor VPS con php artisan migrate . Había instalado Apache2 y MySQL. Puedo conectarme a mi base de datos ...

1  Migración de la base de datos de Laravel en Heroku  ( Laravel database migration on heroku ) 
Necesito agregar una nueva tabla a mis bases de datos en un proyecto de Laraver. Sin embargo, ya tengo datos en la producción y el código se implementa en Her...

14  Ruta artesanal de Laraver 6.0 PHP: Lista Devoluciones "Clase de destino [APP HTTP Controlers SessionsController] no existe"  ( Laravel 6 0 php artisan routelist returns target class app http controllers s ) 
Estoy usando Laravel 6.0 e intento enumerar todas mis rutas con artisan route:list , pero falla y devuelve: Illuminate Contrats Container BindingResolu...

6  ¿Por qué PHP Artisan migra nada?  ( Why does php artisan migrate nothing ) 
Running "PHP Artisan Migrate" no hace nada: no hay modificaciones de la base de datos, sin mensaje (Olso no "nada para migrar"), sin error. No se agregan re...

17  Laravel 5 - Error de sintaxis de artesanía PHP  ( Laravel 5 php artisan syntax error ) 
Actualmente estoy desarrollando una aplicación con Laravel 5 y de repente, ¡el artesano dejó de trabajar! No puedo usar un solo comando en él, siempre devue...

0  Laravel Nova no funciona / apareciendo en la ruta de NOVA  ( Laravel nova not working showing up on nova route ) 
Compré Nova e lo instalé como está escrito en los documentos. Después de la instalación, ejecuto el compositor con éxito e instálelo por NOVA: instale. Veo la...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos