/**
  * @param SuiteInterface $suite
  * @param FixtureEvent $fixtureEvent
  */
 private function executeAfterFixtureListeners(SuiteInterface $suite, FixtureEvent $fixtureEvent)
 {
     foreach ($suite->getListeners() as $listener => $listenerOptions) {
         if (!$listener instanceof AfterFixtureListenerInterface) {
             continue;
         }
         $listener->afterFixture($fixtureEvent, $listenerOptions);
     }
 }
예제 #2
0
 function it_executes_customized_suite_listeners(SuiteLoaderInterface $decoratedSuiteLoader, SuiteInterface $suite, BeforeSuiteListenerInterface $beforeSuiteListener, AfterSuiteListenerInterface $afterSuiteListener)
 {
     $suite->getListeners()->will(function () use($beforeSuiteListener, $afterSuiteListener) {
         (yield $beforeSuiteListener->getWrappedObject() => ['listener_option1' => 'listener_value1']);
         (yield $afterSuiteListener->getWrappedObject() => ['listener_option2' => 'listener_value2']);
     });
     $beforeSuiteListener->beforeSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option1' => 'listener_value1'])->shouldBeCalledTimes(1);
     $decoratedSuiteLoader->load($suite)->shouldBeCalled();
     $afterSuiteListener->afterSuite(new SuiteEvent($suite->getWrappedObject()), ['listener_option2' => 'listener_value2'])->shouldBeCalledTimes(1);
     $this->load($suite);
 }
 function it_executes_customized_fixture_listeners(FixtureLoaderInterface $decoratedFixtureLoader, SuiteInterface $suite, FixtureInterface $fixture, BeforeFixtureListenerInterface $beforeFixtureListener, AfterFixtureListenerInterface $afterFixtureListener)
 {
     $suite->getListeners()->will(function () use($beforeFixtureListener, $afterFixtureListener) {
         (yield $beforeFixtureListener->getWrappedObject() => ['listener_option1' => 'listener_value1']);
         (yield $afterFixtureListener->getWrappedObject() => ['listener_option2' => 'listener_value2']);
     });
     $fixtureEvent = new FixtureEvent($suite->getWrappedObject(), $fixture->getWrappedObject(), ['fixture_option' => 'fixture_value']);
     $beforeFixtureListener->beforeFixture($fixtureEvent, ['listener_option1' => 'listener_value1'])->shouldBeCalledTimes(1);
     $decoratedFixtureLoader->load($suite, $fixture, ['fixture_option' => 'fixture_value'])->shouldBeCalled();
     $afterFixtureListener->afterFixture($fixtureEvent, ['listener_option2' => 'listener_value2'])->shouldBeCalledTimes(1);
     $this->load($suite, $fixture, ['fixture_option' => 'fixture_value']);
 }