PHPUnit: ошибка: класс не найден даже при импорте класса - PullRequest
0 голосов
/ 12 апреля 2020

Я буквально скопировал и вставил код из соответствующих файлов из видео Laracasts Джеффри Вей: https://github.com/laracasts/Code-Katas-in-PHP/tree/master/prime-factors

<?php

use App\PrimeFactors;

class PrimeFactorsTest extends \PHPUnit\Framework\TestCase
{
    /**
     * @test
     * @dataProvider factors
     */
    function it_generates_prime_factors($number, $expected)
    {
        $factors = new PrimeFactors();

        $this->assertEquals($expected, $factors->generate($number));
    }

    public function factors()
    {
        return [
            [1, []],
            [2, [2]],
            [3, [3]],
            [4, [2, 2]],
            [5, [5]],
            [6, [2, 3]],
            [7, [7]],
            [8, [2, 2, 2]],
            [9, [3, 3]],
            [11, [11]],
            [12, [2, 2, 3]],
            [17, [17]],
            [100, [2, 2, 5, 5]]
        ];
    }

}

Тем не менее, всякий раз, когда я запускаю эту команду: phpunit filename Я получаю сообщение об ошибке: Class 'App\PrimeFactors' not found.

Даже если в строке 3 я импортирую пространство имен с классом: use App\PrimeFactors;

Итак, должна ли быть проблема с автозагрузкой в ​​composer. json?

{
    "name": "",
    "description": "",
    "require": {
        "phpunit/phpunit": "^9.0"
    },

    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

Я просматривал другие посты с такой же проблемой, но их решение мне не помогло.

Заранее спасибо.

1 Ответ

0 голосов
/ 13 апреля 2020

Проблема может заключаться в том, что класс "PrimeFactors" не имеет пространства имен. Попробуйте добавить эту строку: namespace App; в классе "PrimeFactors".

...