diff --git a/Module/ModuleFactory.php b/Module/ModuleFactory.php index 0097bb5f0..dc1f54076 100644 --- a/Module/ModuleFactory.php +++ b/Module/ModuleFactory.php @@ -79,7 +79,7 @@ final class ModuleFactory self::$loaded[$module] = $obj; self::registerRequesting($obj); self::registerProvided($obj); - } catch (\Exception $e) { + } catch (\Throwable $e) { self::$loaded[$module] = new NullModule($app); } } else { diff --git a/tests/Module/ModuleFactoryTest.php b/tests/Module/ModuleFactoryTest.php index 960c45d8f..9436b5264 100644 --- a/tests/Module/ModuleFactoryTest.php +++ b/tests/Module/ModuleFactoryTest.php @@ -17,11 +17,17 @@ require_once __DIR__ . '/../Autoloader.php'; use phpOMS\ApplicationAbstract; use phpOMS\Module\ModuleFactory; +use phpOMS\Module\NullModule; class ModuleFactoryTest extends \PHPUnit\Framework\TestCase { public function testFactory() { - self::assertInstanceOf(\Modules\Admin\Controller::class, ModuleFactory::getInstance('Admin', new class extends ApplicationAbstract {})); + $instance = NullModule::class; + if (\file_exists(__DIR__ . '/../../../Modules')) { + $instance = \Modules\Admin\Controller::class; + } + + self::assertInstanceOf($instance, ModuleFactory::getInstance('Admin', new class extends ApplicationAbstract {})); } }