Skip to content

Instantly share code, notes, and snippets.

@localheinz
Last active October 30, 2019 07:47
Show Gist options
  • Save localheinz/7b3a84f2c9b2dc446aef5e48f97ac1c8 to your computer and use it in GitHub Desktop.
Save localheinz/7b3a84f2c9b2dc446aef5e48f97ac1c8 to your computer and use it in GitHub Desktop.
List of interesting events for the PHPUnit event sub-system

Actual Events

  • Application\Started (in Command::main())

  • Application\Configured (in Command::handleArguments())

  • Bootstrap\Finished (in Command::handleBootstrap())

  • TestSuite\Loaded (in BaseTestRunner::getTest())

  • TestSuite\Configured (in TestRunner::doRun(), after handleConfiguration())

  • TestSuite\Sorted (in TestRunner::doRun())

  • Extension\Loaded (in TestRunner::doRun())

  • Comparator\Registered

  • Test\RunConfigured (in TestRunner::doRun(), when current TestResult has been initialized completely)

  • TestSuite\RunStarted (in TestSuite::run())

  • TestSuite\BeforeClassFinished (in TestSuite::run())

  • TestSuite\AfterClassFinished (in TestSuite::run())

  • TestCase\BeforeClassFinished (in TestCase::run())

  • TestCase\SetupBeforeClassFinished (in TestCase::run())

  • Test\SetUpFinished (in TestCase::run())

  • Test\RunStarted (in TestCase::run())

  • Test\RunFinished (in TestCase::run())

  • Test\RunSkippedWithFailedRequirements (in TestCase::run(), needs clarification, see instantiation of SkippedTestCase, SkippedTest)

  • Test\RunSkippedByDataProvider (in TestCase::run(), needs clarification, see instantiation of SkippedTestCase, SkippedTest)

  • Test\RunSkippedIncomplete (in TestCase::run(), needs clarification, see instantiation of IncompleteTestCase, IncompleteTest)

  • Test\RunSkippedWithWarning (in TestCase::run(), needs clarification, see instantiation of WarningTestCase, Warning)

  • Test\RunErrored (in TestCase::run())

  • Test\RunPassed (in TestCase::run())

  • Test\RunFailed (in TestCase::run(), see AssertionFailedError)

  • Test\RunRisky (in TestCase::run(), needs better name)

  • Test\TearDownFinished (in TestCase::run())

  • TestCase\TearDownAfterClassFinished (in TestCase::run())

  • TestCase\AfterClassFinished (in TestCase::run())

  • TestSuite\Finished (in TestSuite::run())

  • GlobalState\Captured

  • GlobalState\Modified (by test, not so good?)

  • GlobalState\Restored

  • TestDouble\MockCreated

  • TestDouble\MockForTraitCreated

  • TestDouble\PartialMockCreated

  • TestDouble\TestProxyCreated

  • TestDouble\ProphecyCreated

  • Assertion\Made

List of interesting events

  • BeforeRun
  • BeforeTestSuite
  • BeforeTest
    • BeforeFirstTest
    • BeforeClassSetup
    • AfterClassSetup
    • BeforeSetUp
    • AfterSetUp
  • AfterTest
    • AfterIncompleteTest
    • AfterRiskyTest
    • AfterSkippedTest
    • AfterSuccessfulTest
    • AfterTestError
    • AfterTestFailure
    • AfterTestWarning
    • AfterLastTest
    • BeforeTearDown
    • AfterTearDown
    • BeforeClassTearDown
    • AfterClassTearDown
  • AfterTestSuite
  • AfterRun

BeforeRun

Composes

  • Configuration

BeforeTestSuite

Composes

  • Configuration
  • TestSuite

BeforeTest

Composes

  • Configuration
  • TestSuite
  • Test

Can be extended by

  • BeforeFirstTest
  • BeforeClassSetup
  • AfterClassSetup
  • BeforeSetUp
  • AfterSetUp

AfterTest

Composes

  • Configuration
  • TestSuite
  • Test

Can be extended by

  • AfterIncompleteTest
  • AfterRiskyTest
  • AfterSkippedTest
  • AfterSuccessfulTest
  • AfterTestError
  • AfterTestFailure
  • AfterTestWarning
  • AfterLastTest
  • BeforeTearDown
  • AfterTearDown
  • BeforeClassTearDown
  • AfterClassTearDown

AfterTestSuite

Composes

AfterRun

  • Configuration
  • TestSuites

List of interesting value objects

  • Test (provides information about a test, i.e., test class, test method, data provider key)
@epdenouden
Copy link

Please do not forget the fantastic DataProviderTestSuite 🍉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment