$30 off During Our Annual Pro Sale. View Details »

Writing PHPUnit tests for TYPO3 extensions

Writing PHPUnit tests for TYPO3 extensions

Oliver Klee

August 04, 2023
Tweet

More Decks by Oliver Klee

Other Decks in Programming

Transcript

  1. Writing PHPUnit tests

    for TYPO3 extensions
    Oliver Klee, 2023-08 @[email protected] | [email protected]

    View Slide

  2. About me
    Oliver „Oli“ Kle
    e

    #bon
    n

    #extension-de
    v

    #workshop-teache
    r

    #unit-testing-gu
    y

    #phpstan-gu
    y

    #best-practices-tea
    m

    #motivation-research-tea
    m

    #team-leadership-working-grou
    p

    #game-cookin
    g

    #powermetal

    View Slide

  3. Unit

    Tests?

    View Slide

  4. Manual testing is cumbersome

    View Slide

  5. Automated

    testing

    is fast

    View Slide

  6. Unit tests for the

    TYPO3 Core

    View Slide

  7. Unit Tests

    406 (144) tests/s

    View Slide

  8. Functional Tests

    8.13 (1.97) tests/s

    View Slide

  9. Acceptance Tests

    .009 (.003) tests/s

    View Slide

  10. Verify that your code
    does what you expect

    View Slide

  11. Make sure that

    your changes won‘t

    break anything

    View Slide

  12. Keep others

    from breaking your code

    View Slide

  13. Don’t break anything

    even in complex

    projects

    View Slide

  14. Create a safety net

    for refactoring
    or for TYPO3, PHP
    or Symfony updates

    View Slide

  15. Improve
    the structure
    of your code

    View Slide

  16. Find the location of bugs

    View Slide

  17. Green feels good!

    View Slide

  18. Test levels
    http://
    fi
    lipdefar.com/2015/06/tested-be-thy-name.html

    View Slide

  19. Unit tests are

    small and fast

    View Slide

  20. Functional tests
    test how components

    work together
    also called
    integration tests

    View Slide

  21. Acceptance tests
    Codeception Cypress

    View Slide

  22. The testing pyramid
    Unit
    Functional/

    Integration
    Acceptance
    Photo by Eugene Tkachenko on Unsplash: https://unsplash.com/photos/TF47p5PHW18

    View Slide