Overview for 'matthiasnoback'
Written by Matthias Noback
/ Original link
on Oct. 14, 2021
It's an extremely common problem in legacy code bases: a new way of doing things was introduced before the team decided on a way to get the old thing out. Famous examples are: Introducing Doctrine ORM next to Propel Introducing Symfony FrameworkBundle while still using Zend controllers Introducing…
Written by Matthias Noback
/ Original link
on Sep. 21, 2021
I've mentioned this several times without explaining: the rule that every class should have a test, or that every class method should have a test, does not make sense at all. Still, it's a rule that many teams follow. Why? Maybe they used to have a #NoTest culture and they never want to go back to…
Written by Matthias Noback
/ Original link
on Sep. 16, 2021
I'm a big fan of the BDD Books by Gáspár Nagy and Seb Rose, and I've read a lot about writing and improving scenarios, like Specification by Example by Gojko Adzic and Writing Great Specifications by Kamil Nicieja. I can recommend reading anything from Liz Keogh as well. Trying to apply their sugge…
Written by Matthias Noback
/ Original link
on Sep. 14, 2021
In essence, everything is a string. Well, you can always go one layer deeper and find out what a string really is, but for web apps I work on, both input data and output data are strings. The input is an HTTP request, which is a plain-text message that gets passed to the web server, the PHP server,…
Written by Matthias Noback
/ Original link
on Sep. 13, 2021
"Yes, I know. Our tests aren't perfect, but it's better to test anything than to test nothing at all, right?" Let's look into that for a bit. We'll try the "Fowler Heuristic" first: One of my favourite (of the many) things I learned from consulting with Martin Fowler is that he would often ask "Com…
Written by Matthias Noback
/ Original link
on Sep. 1, 2021
Whenever I read a test method I want to understand it without having to jump around in the test class (or worse, in dependencies). If I want to know more, I should be able to "click" on one of the method calls and find out more. I'll explain later why I want this, but first I'll show you how to get…