我尝试使用 Infection 来使用 php 评估我的测试用例,我有 2 个文件(Displayuser.php、displayuserTest.php)
第一个文件Displayuser.php代码如下,该文件位于func文件夹下
<?php
namespace func;
include 'config.php';
class Displayuser
{
public function add($num1, $num2) {
return $num1 + $num2;
}
}
?>
和第二个文件 displayuserTest.php
<?php
include 'config.php';
include 'func/Displayuser.php';
use func\Displayuser;
class DisplayuserTest extends PHPUnit\Framework\TestCase
{
public function testAdd()
{
$dispUser = new func\Displayuser;
$result = $dispUser->add(1,2);
$this->assertEquals(3,$result);
}
}
?>
如果我使用 PHPUnit 使用此命令“./vendor/bin/phpunit --testdox”进行测试,没关系,不会出现错误,但是当我使用“infection --filter=Displayuser.php”等感染命令时,会出现错误错误信息
**处理源代码文件:0/1 在 CoreClassReflection.php 第 55 行:
“func\Displayuser”类不存在
**
为什么会这样,哪位高手可以帮帮我。谢谢
我在 Displayuser.php 中创建了 func 命名空间,实际上可以调用 $dispUser->add 但我仍然收到该错误。
实际上,当我将文件夹从 function 更改为 func 时,就会出现这个问题,我的解决方案是
{
"autoload": {
"psr-4": {
"Func\\": "func"
}
}
}
composer dump-autoload
错误消息消失了