mardi 13 février 2018

testing in Laravel 5.5 : Class env does not exist

i am starting tests in laravel

i created a ".env.testing" file with this

APP_NAME=myApp
APP_ENV=testing
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://myApp.localhost

DB_CONNECTION=sqlite_testing

i added this in the "connections" part of config/database.php file

...
'sqlite_testing' => [
    'driver'   => 'sqlite',
    'database' => ':memory:',
    'prefix'   => '',
],
...

in the phpunit.xml file, i added :

<env name="DB_CONNECTION" value="sqlite_testing" />

and i created a UserTest feature :

class UserTest extends TestCase
{

    public function setUp()
    {
        parent::setUp();
        Artisan::call('migrate');
        Artisan::call('db:seed');
    }

    public function tearDown()
    {
        parent::tearDown();
        Artisan::call('migrate:reset');
    }


    public function testCanAccessUserSpace()
    {
        $user = factory(User::class)->create();

        $response = $this->actingAs($user)
            ->get('/home');


        $response->assertStatus(200);
    }
}

But when i run the tests, i have this :

ReflectionException: Class env does not exist

What's wrong with my config ?

thanks

Aucun commentaire:

Enregistrer un commentaire