Big +1 to “ Never give up on local testing”. The current code base I’m dealing with has many tests that require interaction with a dev environment on the cloud, and occasionally these tests fail due to a timeout or some other thing not related to actually testing the code (and instead reveals that I forgot to refresh my MFA).

Additionally the dependency thing can be huge; we ran into a weird bug for installing a particular dependency on our CI system so our test there keeps failing, but being able to run it locally let’s us know that the changes did not break our actual code tests.

How does this work in a serverless world? As far as I can tell local dev for most serverless environments that people actually care about is a joke.

Having used localstack [1], I can vouch that it's not a joke.

[1]: https://github.com/localstack/localstack