Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用PSR4使名称空间在PHPUnit测试中工作_Php_Unit Testing_Namespaces_Composer Php_Phpunit - Fatal编程技术网

Can';t使用PSR4使名称空间在PHPUnit测试中工作

Can';t使用PSR4使名称空间在PHPUnit测试中工作,php,unit-testing,namespaces,composer-php,phpunit,Php,Unit Testing,Namespaces,Composer Php,Phpunit,目前,我正在尝试使用PSR4名称空间标准创建一个PHP库。我无法使PHPUnit测试套件在我的独立库中正常工作。从下面显示的错误可以看出,我对名称空间的理解似乎不正确。我做错了什么,这是一个名称空间、PHPUnit测试错误还是一个实现问题 SearchTest::testIsThereAnySyntaxError Error: Class 'Purencoool\Search\Search' not found Json编写器文件名自动加载命名空间 "autoload&quo

目前,我正在尝试使用PSR4名称空间标准创建一个PHP库。我无法使PHPUnit测试套件在我的独立库中正常工作。从下面显示的错误可以看出,我对名称空间的理解似乎不正确。我做错了什么,这是一个名称空间、PHPUnit测试错误还是一个实现问题

SearchTest::testIsThereAnySyntaxError
Error: Class 'Purencoool\Search\Search' not found
Json编写器文件名自动加载命名空间

    "autoload": {
        "psr-4": {
            "Purencool\\Search\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Purencool\\Search\\": "tests"
        }
    }


普氏试验

  public function testIsThereAnySyntaxError()
  {
    $var = new Purencoool\Search\Search;
    $this->assertTrue(is_object($var));
    unset($var);
  }

要运行测试并查看文件结构,请转到

我正在用PHP版本测试它

PHP 7.3.20 (cli) (built: Jul  9 2020 23:55:30) ( NTS )


如果
\Purencool\Search
src/
中的内容,那么
\Purencool\Search\Search
应该在
src/Search.php
中。我猜
“Purencool\\ \”:“src”
就是你的意思,或者只是
Purencool\Search
(作为一个完整的限定类名),如果
Search
应该是你的基本名称空间。请注意,我经常把这些映射搞混,所以我可能弄错了。那么,你是说我的命名空间应该是composer.json中的`“purencol\\\ \:“src”`并且目录结构应该是
src/purencol/Search/Search.php
?嘿,谢谢,我刚刚做了以下提交,但我仍然得到同样的错误,再次感谢,我做了您建议的更改,但仍然得到以下错误
1)SearchTest::testisThereaysyntaxerror错误:未找到类“purencool\Search”
No-No-No-No,我的意思是在
purencool
中有一个额外的
o
(如字母
o
)。有三个o。您的名称/命名空间只有两个。应该是
new Purencool\Search\Search
。如果
\Purencool\Search
src/
中的内容,那么
\Purencool\Search\Search
应该是
src/Search.php
中的内容。我猜
“Purencool\\ \”:“src”
就是你的意思,或者只是
Purencool\Search
(作为一个完整的限定类名),如果
Search
应该是你的基本名称空间。请注意,我经常把这些映射搞混,所以我可能弄错了。那么,你是说我的命名空间应该是composer.json中的`“purencol\\\ \:“src”`并且目录结构应该是
src/purencol/Search/Search.php
?嘿,谢谢,我刚刚做了以下提交,但我仍然得到同样的错误,再次感谢,我做了您建议的更改,但仍然得到以下错误
1)SearchTest::testisThereaysyntaxerror错误:未找到类“purencool\Search”
No-No-No-No,我的意思是在
purencool
中有一个额外的
o
(如字母
o
)。有三个o。您的名称/命名空间只有两个。应该是
new Purencool\Search\Search