The problem with Software Engineering is that almost every approach makes sense under the umbrella of βit dependsβ.
I donβt like mocks.
We know a dozen of ways they can go wrong.
We know a dozen of ways to test the system robustly without mocks.
Yet, if you depend on poorly designed code you canβt change within your time and intellectual budget, you use mocks and move on.
In my book, if something doesnβt work 99% of the time and requires expert knowledge, itβs bad.
And itβs also fine to avoid something bad. You wonβt miss a lot.
But people will jump on you with pitchforks if they experienced that 1% statistical outlier edge case.
You can take a safe position of never telling why something is good or bad.
But you quickly become boring and spineless.
Itβs okay to have opinions!