assertTrue( method_exists(ModuleManager::class, 'reloadModule'), 'ModuleManager::reloadModule 메서드가 존재해야 한다' ); $this->assertTrue( method_exists(ModuleManager::class, 'evalFreshModule'), 'ModuleManager::evalFreshModule 메서드가 존재해야 한다' ); $reload = new ReflectionMethod(ModuleManager::class, 'reloadModule'); $this->assertSame(1, $reload->getNumberOfRequiredParameters(), 'reloadModule 은 moduleName 1개 필수 파라미터'); $params = $reload->getParameters(); $this->assertSame('moduleName', $params[0]->getName()); $eval = new ReflectionMethod(ModuleManager::class, 'evalFreshModule'); $this->assertSame( 3, $eval->getNumberOfRequiredParameters(), 'evalFreshModule 은 moduleFile, moduleClass, moduleDir 3개 필수 파라미터' ); } public function test_plugin_manager_has_reload_and_evalfresh_methods(): void { $this->assertTrue( method_exists(PluginManager::class, 'reloadPlugin'), 'PluginManager::reloadPlugin 메서드가 존재해야 한다' ); $this->assertTrue( method_exists(PluginManager::class, 'evalFreshPlugin'), 'PluginManager::evalFreshPlugin 메서드가 존재해야 한다' ); $reload = new ReflectionMethod(PluginManager::class, 'reloadPlugin'); $this->assertSame(1, $reload->getNumberOfRequiredParameters(), 'reloadPlugin 은 pluginName 1개 필수 파라미터'); } }