getMockBuilder(Filesystem::class) ->disableOriginalConstructor() ->getMock(); $directoryWrite = $this->getMockBuilder( WriteInterface::class )->disableOriginalConstructor() ->getMock(); $filesystem->expects($this->any())->method('getDirectoryWrite')->willReturn($directoryWrite); $backupData = $this->getMockBuilder( Data::class )->disableOriginalConstructor() ->getMock(); $backupData->expects($this->any())->method('getExtensions')->willReturn([]); $driver = $this->getMockBuilder( Filesystem\DriverInterface::class )->disableOriginalConstructor() ->getMock(); $directoryWrite->expects($this->any())->method('create')->with('backups'); $directoryWrite->method('getAbsolutePath') ->willReturnCallback(function ($arg1) { if ($arg1 == 'backups' || $arg1 == []) { return ''; } }); $directoryWrite->expects($this->any())->method('isDirectory')->willReturn(true); $directoryWrite->expects($this->any())->method('getDriver')->willReturn($driver); $targetDirectory = $this->getMockBuilder(TargetDirectory::class) ->disableOriginalConstructor() ->getMock(); $targetDirectoryWrite = $this->getMockBuilder(WriteInterface::class) ->disableOriginalConstructor() ->getMock(); $targetDirectoryWrite->expects($this->any())->method('isDirectory')->willReturn(true); $targetDirectory->expects($this->any())->method('getDirectoryWrite')->willReturn($targetDirectoryWrite); $classObject = $helper->getObject( Collection::class, [ 'filesystem' => $filesystem, 'backupData' => $backupData, 'directoryWrite' => $directoryWrite, 'targetDirectory' => $targetDirectory ] ); $this->assertNotNull($classObject); } }