JAKUB ZALASPO LONDYŃSKUPROGRAMOWANIEWSPIERANE PRZEZ TESTYPHPEDITION
View Slide
Jakub Zalas@jakub_zalas@jakub_zalas@jakzal
- Behaviour- Verification- The chain premise- Collaboration tests- Test doubles- Contract tests- Mocking hellPLAN
https://blog.thecodewhisperer.com/permalink/integrated-tests-are-a-scamBeware the Integrated Tests ScamJ. B. Rainsberger / @jbrains
VS
DATACALCULATIONSACTIONSGrokking SimplicityEric Normand2021
“TEST A CHAIN BY TESTING EACH LINK”MICHAEL "GEEPAW" HILLhttps://www.geepawhill.org/2018/01/16/underplayed-the-chain-premise-in-depth/
WE GET TO CHOOSEWHEN AND WHEREWE BREAK THE DEPENDENCY CHAINFOR TESTING
COLLABORATION TESTS
INDIRECT INPUTINDIRECT OUTPUT
xUnit Test PatternsRefactoring Test CodeGerard Meszaros2007
WE HAVE DETECTED UNUSUALLY HIGH SPENDINGON YOUR CARD IN THESE CATEGORIES:• YOU SPENT £101.19 ON FOOD• YOU SPENT £27.70 ON ENTERTAINMENThttps://github.com/testdouble/contributing-tests/wiki/Unusual-Spending-Kata
SPY & STUBHAND-CRAFTED
A REAL OBJECT,BUT A DUMMYWOULD WORK AS WELL.
A SPY
A STUB
MOCK OBJECTHAND-CRAFTED
A MOCK OBJECT
STUB & MOCK OBJECTWITH A MOCKING FRAMEWORK
CONTRACT TESTSaka "Role tests"
UnusualSpendingNotificationUseCaseTest
UnusualSpendingQueryTestUnusualSpendingQueryTestUnusualSpendingNotificationUseCaseTest
THANK YOUVerify behaviourMock roles, not objectsListen to your testsLeverage test doubles as a TDD tool@jakub_zalas@jakub_zalas@jakzal