Когда я запускаю PHPUnit в своем проекте, я сталкиваюсь с этой проблемой.
$ vendor / bin / phpunit
PHPUnit 6.5.8 by Sebastian Bergmann and contributors.
Estring(29) "PHPFuzzy\Models\CriterionList"
Time: 59 ms, Memory: 4.00MB
There was 1 error:
1) FuzzyAHPTest::testDefineDecisionMaker
Error: Class 'PHPFuzzy\Models\CriterionList' not found
~/Documents/PHPFuzzy/tests/FuzzyAHPTest.php:10
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
Тесты / FuzzyAHPtest.php
use PHPFuzzy\Models\{FuzzyNumber as §, DecisionMaker, Criterion, CriterionList, Alternative, AlternativeList};
use PHPFuzzy\{ FuzzyMCDM, Utils };
use PHPUnit\Framework\TestCase;
class FuzzyAHPTest extends TestCase{
public function testDefineDecisionMaker(){
var_dump(CriterionList::class);
$subcriteria1 = new CriterionList([
new Criterion("SubCriteria 1"),
new Criterion("SubCriteria 2"),
new Criterion("SubCriteria 3")
]);
$subcriteria2 = new CriterionList([
new Criterion("SubCriteria 4"),
new Criterion("SubCriteria 5"),
new Criterion("SubCriteria 6"),
new Criterion("SubCriteria 7")
]);
$criteria = new CriterionList([
new Criterion("Criteria 1", $subcriteria1),
new Criterion("Criteria 2", $subcriteria2)
]);
$alts = new AlternativeList([
new Alternative("Kia"),
new Alternative("Nissan"),
new Alternative("Alfa Romeo")
]);
$dm = new DecisionMaker("Decision Maker 1", $criteria);
$AHPSess = FuzzyMCDM::AHP($dm, $alts, $pcml);
d($AHPSess->listPCMCombinations());
// $this->assertEquals($expected->getMatrix(), $a->getMatrix());
}
}
в composer.json
{
"name": "bahadircyildiz/phpfuzzy",
"description": "Fuzzy Logic library.",
"keywords": ["fuzzy", "logic", "library"],
"license": "MIT",
"authors": [
{
"name": "Bahadir Can Yildiz",
"email": "mail@bahadircyildiz.com"
}
],
"type": "project",
"require": {
"php": ">=7.0",
"markrogoyski/math-php": "^0.39.0"
},
"require-dev": {
"phpunit/phpunit": "*",
"kint-php/kint": "*"
},
"suggest":{
"ext-operator": "Enables FuzzyNumber class to use arithmetic operators."
},
"autoload": {
"psr-4": {
"PHPFuzzy\\": "src/"
}
},
"autoload-dev":{
"psr-4": {
"PHPFuzzy\\Tests\\": "tests/"
}
},
"conflict": {
"phpunit/php-timer": ">=2"
}
}
А это моя Файловая структура
src/
MCDM/
FuzzyAHP.php
Models/
Alternative.php
AlternativeList.php
Criterion.php
CriterionList.php
...
tests/
FuzzyAHPtest.php
...
Подводя итог, я могу вывести имя класса CriterionList , но когда я хочу создать экземпляр, он не может найти класс. С другой стороны, код Visual Studio ссылается на класс.