Estoy intentando ejecutar mi archivo de prueba, ImportCSVTest.php con el comando ./vendor/bin/phpunit --filter=testNoImportFile
pero me sale el error de
/usr/bin/php declares an invalid value for PHP_VERSION. This breaks fundamental functionality such as version_compare(). Please use a different PHP interpreter.Mi archivo de prueba, ImportCSVTest.php es el siguiente
<?php namespace Tests\Feature; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Http\UploadedFile; use Tests\TestCase; class ImportCSVTest extends TestCase { /** * A basic test example. * * @return void */ public function testNoImportFile() { Storage::fake('products'); $response = $this->json('POST', '/import', [ 'csv' => UploadedFile::fake()->create('emptyUpload', 0, null) ]); Storage::disk('products')->assertMissing('emptyUpload'); } }La primera vez que me encuentro con un error como este, ¿cómo se soluciona esto?
PHPUnit se niega a ejecutarse con un intérprete de PHP donde el valor de la constante PHP_VERSION contiene un valor no válido debido a la modificación realizada por los proveedores que envían distribuciones (binarias) de PHP.
7.3.24-(to be removed in future macOS) es un valor no válido. Apple, que es el proveedor del binario del intérprete de PHP que utiliza, agregó el sufijo -(to be removed in future macOS) .
Aquí hay un gran artículo que explica los antecedentes. Aquí está el ChangeLog para PHPUnit 8.5.17. Aquí está el ChangeLog para PHPUnit 9.5.6. Estas son las primeras versiones de PHPUnit que verifican valores no válidos de PHP_VERSION al inicio.
TL; DR: no use el intérprete de PHP que Apple envía con macOS. Utilice Homebrew, o similar, en su lugar.