У меня есть эта структура проекта:
root -lib -dir -file1 (namespace PROJECT\dir\) -file2 -tests -dir -file1Test -file2Test (namespace PROJECT\tests) -vendor
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.xml
в свой корень, со следующим контентом.
<phpunit bootstrap="vendor/autoload.php">
</phpunit>
Это загрузило бы все классы, загруженные композитором.
require
композитор автозагрузчика от PHPUnit , когда тесты запускаются?