使用phpunit测试autoloader,而不从composer加载类';自动装弹机

使用phpunit测试autoloader,而不从composer加载类';自动装弹机,php,phpunit,composer-php,Php,Phpunit,Composer Php,议员的跟进质询 我正在编写一个为CMS发布分布式扩展的应用程序。将每个分布式扩展看作一个zip,其中包含扩展代码及其所有依赖项(复制的composer包) 在包中,有一个自动加载器加载它的依赖项 我使用PHPUnit测试依赖项是否正确加载。但是在测试类中实例化类时,依赖项已经通过composer加载 我在下面的测试中执行composer exec phpunit TestAutoloader如何编写测试以使依赖项不从composer加载? 测试代码 class TestAutoloader ex

议员的跟进质询

我正在编写一个为CMS发布分布式扩展的应用程序。将每个分布式扩展看作一个zip,其中包含扩展代码及其所有依赖项(复制的composer包)

在包中,有一个自动加载器加载它的依赖项

我使用PHPUnit测试依赖项是否正确加载。但是在测试类中实例化类时,依赖项已经通过composer加载

我在下面的测试中执行
composer exec phpunit TestAutoloader
如何编写测试以使依赖项不从composer加载?

测试代码

class TestAutoloader extends TestCase
{
    /**
     * @test
     */
    public function test_can_load_dependencies() {
        $myClass = new MyClass();

        $reflection = new \ReflectionClass($myClass->client());
        echo $reflection->getFileName(); // This is loading from vendors folder instead of uploads/dependency

        //$this->assertTrue(class_exists('GuzzleHttp\Client'));
    }
}
问题说明

/upload/MyClass.php

should load

/upload/dependencies/example/src/MyDependency.php

but the test is loading from

/vendor/example/src/MyDependency.php

您不能让phpunit使用引导(
),并在引导文件中定义您自己的自定义自动加载程序(而不是默认使用composer)吗?这听起来似乎有道理,但不会影响所有其他测试吗?是否有可能针对该特定测试?