我从Jeffrey Way:https://github.com/laracasts/Code-Katas-in-PHP/tree/master/prime-factors
的一段Laracasts视频中复制并粘贴了相关文件中的代码。<?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/"
}
}
}
我看过其他有相同问题的帖子,但是这些帖子的解决方案对我没有帮助。
谢谢。
答案 0 :(得分:0)
问题可能是类“ PrimeFactors”没有命名空间。尝试添加以下行:“ PrimeFactors”类中的namespace App;
。