Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

jeroenvanrensen's avatar

Suddenly TestCase class returns "Class '' not found"

Hi everyone,

Suddenly this erros pops up in my tests:

Error: Class '' not found

This is the full error message:

C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:453
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:189
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:165
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:110
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Console\Migrations\MigrateCommand.php:85
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Migrations\Migrator.php:541
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Database\Console\Migrations\MigrateCommand.php:94
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Container\Util.php:40
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:93
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:37
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Container\Container.php:596
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Console\Command.php:136
C:\laragon\packages\moonphp-package\vendor\symfony\console\Command\Command.php:258
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Console\Command.php:121
C:\laragon\packages\moonphp-package\vendor\symfony\console\Application.php:920
C:\laragon\packages\moonphp-package\vendor\symfony\console\Application.php:266
C:\laragon\packages\moonphp-package\vendor\symfony\console\Application.php:142
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Console\Application.php:93
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Console\Application.php:185
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php:263
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Testing\PendingCommand.php:194
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Testing\PendingCommand.php:348
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Foundation\Testing\Concerns\InteractsWithConsole.php:59      
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Foundation\Testing\RefreshDatabase.php:40
C:\laragon\packages\moonphp-package\vendor\laravel\framework\src\Illuminate\Foundation\Testing\RefreshDatabase.php:17
C:\laragon\packages\moonphp-package\vendor\orchestra\testbench-core\src\Concerns\Testing.php:152
C:\laragon\packages\moonphp-package\vendor\orchestra\testbench-core\src\TestCase.php:65
C:\laragon\packages\moonphp-package\vendor\orchestra\testbench-core\src\Concerns\Testing.php:82
C:\laragon\packages\moonphp-package\vendor\orchestra\testbench-core\src\TestCase.php:43
C:\laragon\packages\moonphp-package\tests\TestCase.php:11

But in my TestCase on line 11 I have this:

public function setUp(): void
{
    parent::setUp(); // line 11
}

So, what can I do about this?

Thank you! Jeroen

0 likes
8 replies
jeroenvanrensen's avatar

@tisuchi @michaloravec I tried your answers, but neither of them work.

This is my full tests/TestCase.php file:

<?php

namespace JeroenvanRensen\MoonPHP\Tests;

use JeroenvanRensen\MoonPHP\MoonServiceProvider;

abstract class TestCase extends \Orchestra\Testbench\TestCase
{
    protected function setUp(): void
    {
        parent::setUp();
    }

    protected function getPackageProviders($app)
    {
        return [
            MoonServiceProvider::class,
        ];
    }

    protected function getEnvironmentSetUp($app)
    {
        // 
    }
}
Sinnbeck's avatar

Do you have any migrations ? The error comes from the Migrator

If you do, check those (or post them)

jeroenvanrensen's avatar

@sinnbeck This is the only one:

database/migrations/create_moon_users_table.php

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateMoonUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('moon_users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('moon_users');
    }
}
Sinnbeck's avatar

Did you create that manually? It normally would have a timestamp in the name

Try renaming it to 2020_11_19_111143_create_moon_users_table.php and run composer dump-autoloadagain

1 like
muhamadin's avatar

I got the same issue. And it turns out that I forgot to specify the time part in my migration file.

Before: 2020_11_01_create_posts_table

After: 2020_11_01_000000_create_posts_table

jeroenvanrensen's avatar
Level 15

@sinnbeck I tried but it does not work.

Finally did a git reset and composer install and now it's working again.

Please or to participate in this conversation.