【问题标题】:phpunit composer file not found找不到phpunit作曲家文件
【发布时间】:2016-01-10 05:28:37
【问题描述】:

我有这样一个项目结构:

根 -lib -目录 -file1(命名空间项目\目录\) -文件2 -测试 -目录 -file1Test -file2Test(命名空间项目\测试) -小贩

Composer.json 如下:

 "require-dev":{
    "phpunit/phpunit": "5.0.*"
},
"autoload":{
"psr-4":{
    "PROJECT\\": "lib/"
    }
}

如果我在不使用 lib 中的类的情况下运行测试,则一切正常。但是(例如)如果我有

file1Test.php

use PROJECT\dir\file1;

function void testMethod(){
$var = new file1();} 

我明白了:

Class PROJECT\dir\file1 not found in full/path/to/file1Test.php

有谁知道问题出在哪里?

【问题讨论】:

  • 您的 PHPUnit 引导过程是什么样的?运行测试时,您是否 require PHPUnit 的作曲家自动加载器?
  • 有几种方法可以做到这一点:stackoverflow.com/a/15711324/541091
  • function void testMethod(){ 不是有效的 PHP,去掉 void

标签: php phpunit composer-php


【解决方案1】:

您可能需要将phpunit.xml 添加到您的根目录,并包含以下内容。

<phpunit bootstrap="vendor/autoload.php">
</phpunit>

这将加载 composer 加载的所有类。

【讨论】:

  • 添加此文件后,我不幸遇到了同样的错误。
  • 我会尝试骆驼案例命名。项目\库\文件1。你的命名并不标准。请参阅 PSR-1 了解作曲家使用的文件命名标准。 PSR-4 是其更简单的继任者。
猜你喜欢
  • 2015-01-30
  • 2015-07-04
  • 2017-01-02
  • 1970-01-01
  • 2017-02-06
  • 1970-01-01
  • 2013-07-30
  • 2017-12-01
  • 2016-03-05
相关资源
最近更新 更多