3

I get the following error when I run phpunit with Laravel 4.

PHP Fatal error:  Class 'Illuminate\Foundation\Testing\TestCase' not found in 

composer.json

    "require": {
    "laravel/framework": "4.0.*",
    "phpunit/phpunit": "3.7.*"
},

app.php

   'Illuminate\Foundation\Testing\TestCase'

What ı should do?

1
  • You have not shown how you run PHPUnit. You have not shown how you've configured PHPUnit. See as well Laravel 4 migrations - class not found which might not solve your issue but probably does. Commented Aug 12, 2013 at 5:24

3 Answers 3

3

It looks like the autoload doesn't include the new requirement.

Be sure to run composer update to ensure that the file are downloaded and the autoloader is updated with that source.

If the files were downloaded and 'installed' manually run php composer dump-autoload to rebuild the autoload file.

Sign up to request clarification or add additional context in comments.

2 Comments

I run php artisan dump-autoload .
@Tim Did you mean, composer dump-autoload ?
2

I just ran into the same problem, so I thought I'd post my solution, even though it might be a different solution to what you were after.

I wanted to autoload my own libraries, so I added the following to my composer.json:

"autoload": {
    "psr-0": {
        "Fhc": "app"
    }
},

What I didn't realise was that just above that line was the following:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
},

In essence, my modification had completely overridden the the code above. The solution was to merge the two together (as I should have done to begin with).

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-0": {
        "Fhc": "app"
    }
},

Now it's all working as expected.

I hope this helps anyone else in the same situation.

Comments

0

Try to remove your "vendor" folder and the file named composer.lock after that run:

composer install

Pay attention to the output produced by composer.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.