“Only production-like tests count.”
Does integration testing now own my calendar?
Elevator answer
No. Unit-test the rule, compile-check the flow, contract-test the connector, and boot real infrastructure only for the boundary behavior a mock would lie about.
3 coffee-machine misconceptions
“Mocks can represent a lost payment response.”
“A four-hour suite is confidence.”
The real explanation
Use the cheapest honest test. A pricing rule needs direct Java. An incompatible mapper type or shape should fail contract compilation; a mapper that compiles while putting billingAddress into shippingAddress needs a dedicated mapper test. A Stripe connector needs protocol-shaped tests. A durable Await or real Kafka acknowledgement may justify focused infrastructure. Booting PostgreSQL, Kafka, and half the company to test isEligible() is test panic with containers.
This is not a pyramid argument by geometry. It is an argument by failure mode. Test the cheap deterministic behavior cheaply; test the risky boundary where it actually exists; avoid booting infrastructure for a rule that is just arithmetic. A small number of high-value end-to-end paths can then prove topology without becoming the only feedback mechanism.
The trade-off is a deliberate test portfolio. Teams must resist using one layer as an excuse to skip another.
Trade-offs
TPF gains proportional evidence. It gives up a single “golden” test type.
When TPF is not a good fit
If test environments are so unreliable that focused integration tests cannot run, improve that capability before depending on distributed execution claims.