"Dependency injection (DI) frameworks work around the problem, but we don’t want to require such magic. Ensure all classes have a constructor or factory that doesn’t take any parameters"
Yeah, sure. Apart from the fact that most frameworks require constructor-based injection and make it very easy to use in tests.
"Write one or two end-to-end tests that make sure your code starts up and runs a common workflow. "
Getting the e2e tests to run is the hard part. Spinning up the external services is the slow part. Once you make everything work, you throw away all the invested time to run a single e2e test?
Modern frameworks, like Playwright, allow you to simply record (!) your mouse clicks and write tests from that. You can easily 'write' 200 e2e tests like this and you don't even need a dev to do it.
The article's structure is commendable, but its ideas feel like taken straight from the 2000s.
Yeah, sure. Apart from the fact that most frameworks require constructor-based injection and make it very easy to use in tests.
"Write one or two end-to-end tests that make sure your code starts up and runs a common workflow. "
Getting the e2e tests to run is the hard part. Spinning up the external services is the slow part. Once you make everything work, you throw away all the invested time to run a single e2e test? Modern frameworks, like Playwright, allow you to simply record (!) your mouse clicks and write tests from that. You can easily 'write' 200 e2e tests like this and you don't even need a dev to do it.
The article's structure is commendable, but its ideas feel like taken straight from the 2000s.