Testing with DTOs and Value Objects
Know the differences between data transfer objects and value objects and understand why immutability helps with testing.
A selection of articles by Sebastian Bergmann
Know the differences between data transfer objects and value objects and understand why immutability helps with testing.
Why distinguishing between test stubs and mock objects in PHPUnit significantly improves the quality and readability of tests.
Read more
How thoroughly do your tests cover the code, and how reliably do they detect real errors? I show you how to find out.
Read more
Are you prepared for a world in which your projects freeze, deployments stall, and tech giants can no longer rely on free community-run infrastructure?
Read more
Discover how PHPUnit 12.4 helps you get there with less friction and more insight.
Read more
Modern PHP development combines proven principles with the latest tools. It brings together documentation, quality, automation, and AI.
Read more
I discuss key issues for the future relating to ethics, digital sovereignty, Open Source, and web standards.
Read more
Discover the hidden capabilities of PHPUnit and learn how to get the most out of your tests with clever features.
Read more
A personal journey from my first lines of BASIC on the Amiga to the question of how AI will shape the next generation of developers.
Read more
Discover how collaboration with real-world developers has shaped the latest advancements in PHPUnit 12.3.
Read more
Psalm or PHPStan: which tool is the better choice for code analysis? Or is it worth combining both tools for maximum code quality?
Read more
I look back on 30 years of open source innovations.
Read more
I am thrilled by the inspiring workshops, exciting open space sessions and the uniquely open, collaborative atmosphere of ComoCamp.
Read more
SoCraTes has enriched and motivated me in a lasting way through inspiring discussions, exciting sessions on topics such as PHP, software testing, security and open-source funding, as well as the special, collaborative atmosphere.
Read more
Should PHP_CodeSniffer or PHP-CS-Fixer be used to get code "in shape"? Should both tools even be used together?
Read more
Should you use PCOV or Xdebug to collect code coverage data? I give a personal answer.
Read more
I recollect my experience at the PHPUnit project's most recent code sprint.
Read more
Security support for PHP 7 has ended. What does this mean for you?
Read more
I reflect on why I no longer write setUp() methods.
Read more
Is your software ready for PHP 8.1? Now is the time to find out.
Read more
If you use abstractions you don't own, testing may be difficult.
Read more
In the tension between backward compatibility and progress, a good developer experience must not be neglected.
Read more
While working on PHPUnit, I encountered an interesting problem.
Read more
I explain how we can learn from failed IT projects.
Read more
I explain why PHPUnit no longer looks at the clock.
Read more
The long story of a security problem that should not have been one.
Read more
Running tests at the touch of a button is a great thing. Updating the testing tool at the touch of a button also sounds promising β or perhaps not?
Read more
Package managers are worthwhile targets, even if no one uses them anymore. Background information on the breach of the PEAR infrastructure of the PHP project.
Read more
Writing unit tests takes time. Is it really worth the effort?
Read more
I explain why using overly open version restrictions can lead to problems.
Read more
Active support for PHP 5 has ended. What does this mean for you?
Read more
Best practices are not set in stone and need to be questioned and then adapted, if need be, every once in a while.
Read moreReceive a comprehensive analysis of new PHPUnit features, implementation details, and the strategic considerations behind each improvement via email every two months.
Subscribe now