所以,我只是在玩PHPUnit,我并不是真的需要它,但是我想学习它的工作原理,所以我在我的插件中的一个随机类上尝试了它。
我遇到的问题是,每当我运行phpunit
时,都会说找不到测试中的Plot
类。在我的composer.json文件中,
{
"require": {
"phpunit/phpunit": "^8.5"
},
"autoload":{
"psr-4" : { "\\mohagames\\PlotArea\\utils\\" : "src/mohagames/PlotArea/utils/"}
}
}
我的Plot.php文件位于C:\ Users \ moham \ Documents \ GitHub \ PlotArea \ src \ mohagames \ PlotArea \ utils \目录中,并具有mohagames\PlotArea\utils
命名空间
但是出于某种原因它仍然会说
C:\Users\moham\Documents\GitHub\PlotArea>C:\Users\moham\Documents\Github\PlotArea\vendor\bin\phpunit --debug
PHPUnit 8.5.0 by Sebastian Bergmann and contributors.
Runtime: PHP 7.3.4
Configuration: C:\Users\moham\Documents\GitHub\PlotArea\phpunit.xml
Test 'SampleTest::testPlot' started
Test 'SampleTest::testPlot' ended
Time: 95 ms, Memory: 4.00 MB
There was 1 error:
1) SampleTest::testPlot
Error: Class 'Plot' not found
C:\Users\moham\Documents\GitHub\PlotArea\tests\unit\SampleTest.php:8
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
和SampleTest测试类:
<?php
use PHPUnit\Framework\TestCase;
class SampleTest extends TestCase{
public function testPlot(){
$plot = new Plot();
}
}
我已经尝试了Internet上的各种解决方案,但都无济于事
答案 0 :(得分:0)
就像Alister指出的那样,首先导入类是可行的,否则PHP不知道代码所指的是什么类。
<?php
use PHPUnit\Framework\TestCase;
use mohagames\PlotArea\utils\Plot;
class SampleTest extends TestCase{
public function testPlot(){
$plot = new Plot();
}
}