Всем привет, подскажите пожалуйста по настроке загрузки класса..
у меня проект в котором есть класс app/library/Helper/Crypt.php
вот как выглядит данный класс
namespace Helper;
class Crypt
{
}
composer autoload основного проекта
"autoload": {
"psr-4": {
"Helper\\": "library/Helper/"
}
}
я добавил по пути app/xxx/phpunit-tests/ компонент где планировал создавать классы из основного проекта для юнит тестривания
при запуске теста php vendor/bin/phpunit не может найти класс Error: Class 'Helper\Crypt' not found
данный тест находится по пути app/xxx/phpunit-tests/test
<?php
use Helper\Crypt;
use PHPUnit\Framework\TestCase;
class CryptTest extends TestCase
{
public function testSuccess(): void
{
$res = Crypt::get()->crypt(42144);
var_dump($res);
}
}
композер данного тестового окружения
{
"autoload": {
"psr-4": {
"Helper\\": "../../library/Helper/"
}
},
"require-dev": {
"phpunit/phpunit": "^9.5"
}
}
phpunit.xml
<phpunit bootstrap="vendor/autoload.php"
colors="true"
verbose="true"
stopOnFailure="false">
<testsuites>
<testsuite name="Tests">
<directory>test</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">app</directory>
</whitelist>
</filter>
</phpunit>
как можно сделать чтобы все классы из данной папки app были доступны? тесты запускаю в контейнере файлы основного проекта и компонента прокинуты туда
UPD
добавил для наглядности скринов