首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类在PHPUnit中找不到,但由Visual代码识别。

类在PHPUnit中找不到,但由Visual代码识别。
EN

Stack Overflow用户
提问于 2018-05-09 09:54:37
回答 1查看 886关注 0票数 0

当我在我的项目中运行PHPUnit时,我遇到了这个问题。

$供应商/bin/phpunit

代码语言:javascript
复制
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.

tests/FuzzyAHPtest.php

代码语言:javascript
复制
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());
    }


}

in composer.json

代码语言:javascript
复制
{
    "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"
    }
}

这是我的文件结构

代码语言:javascript
复制
src/
  MCDM/
    FuzzyAHP.php
  Models/
    Alternative.php
    AlternativeList.php
    Criterion.php
    CriterionList.php
    ...
tests/
  FuzzyAHPtest.php
  ...

总之,我可以转储CriterionList类名,但是当我想要创建一个实例时,它找不到这个类。另一方面,Visual代码引用类。

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 05:57:50

我找到了解决办法。Composer没有正确生成自动加载文件。使用composer update解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50250455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档