Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Writing PHPUnit tests for TYPO3 extensions
Search
Oliver Klee
August 04, 2023
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Writing PHPUnit tests for TYPO3 extensions
Oliver Klee
August 04, 2023
More Decks by Oliver Klee
See All by Oliver Klee
Psychologische Sicherheit
oliverklee
0
34
Generative KI, Ethik und Nachhaltigkeit
oliverklee
0
110
Gewaltfreie Kommunikation: ein Crashkurs
oliverklee
0
140
Team-Management-Plattform
oliverklee
0
100
Vertrauen in Teams & Führung
oliverklee
0
330
Software-Qualität von TYPO3-Extensions automatisieren
oliverklee
0
64
Vertrauen in Teams & Führung
oliverklee
0
190
Testing von TYPO3-Extensions
oliverklee
0
110
Software-Qualität von Extensions automatisieren
oliverklee
1
68
Other Decks in Programming
See All in Programming
Agents on Rails - Rails at Scale 2026
irinanazarova
0
320
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
410
SREの越境 / SRE Collaboration
y0hgi
2
290
Are APIs Still Relevant in the AI Era?
soyuka
0
410
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
700
Workers Cache を知る
syumai
0
320
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
170
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
530
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
33
15k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
330
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.1k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Balancing Empowerment & Direction
lara
6
1.3k
Skip the Path - Find Your Career Trail
mkilby
1
240
Building the Perfect Custom Keyboard
takai
2
890
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
KATA
mclloyd
PRO
35
16k
A Soul's Torment
seathinner
8
3.7k
Transcript
Writing PHPUnit tests for TYPO3 extensions Oliver Klee, 2023-08
@
[email protected]
|
[email protected]
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
Unit Tests?
Manual testing is cumbersome
Automated testing is fast
Unit tests for the TYPO3 Core
Unit Tests 406 (144) tests/s
Functional Tests 8.13 (1.97) tests/s
Acceptance Tests .009 (.003) tests/s
Verify that your code does what you expect
Make sure that your changes won‘t break anything
Keep others from breaking your code
Don’t break anything even in complex projects
Create a safety net for refactoring or for TYPO3, PHP
or Symfony updates
Improve the structure of your code
Find the location of bugs
Green feels good!
Test levels http:// fi lipdefar.com/2015/06/tested-be-thy-name.html
Unit tests are small and fast
Functional tests test how components work together also called integration
tests
Acceptance tests Codeception Cypress
The testing pyramid Unit Functional/ Integration Acceptance Photo by Eugene
Tkachenko on Unsplash: https://unsplash.com/photos/TF47p5PHW18