parser = new AnnotationParser(); $this->parser->addRegisterPath(WORKING_DIR . "/src/Module/", "Module"); try { $this->parser->registerMods(); } catch (ReflectionException $e) { throw $e; } } public function testAnnotation() { ob_start(); $gen = $this->parser->generateAnnotationEvents(); //zm_dump($gen); $m = $gen[OnStart::class][0]->method; $class = $gen[OnStart::class][0]->class; $c = new $class(); try { $c->$m(); } catch (Exception $e) { } $result = ob_get_clean(); $this->assertStringContainsString("我开始了!", $result); } public function testAnnotation2() { foreach ($this->parser->generateAnnotationEvents() as $k => $v) { foreach ($v as $vs) { $this->assertTrue($vs->method === null || $vs->method != ''); $this->assertTrue(strlen($vs->class) > 0); } } } public function testMiddlewares() { $wares = $this->parser->getMiddlewares(); zm_dump($wares); $this->assertArrayHasKey("timer", $wares); } }