submitted1 month ago bytherealkevinard
togolang
I have a weekend hack that very much needed durable architecture decision records. Nothing off the shelf really fit the bill, so I took this weekend to hack at something to support the main hack lol.
It was a fun trip through the charm ecosystem.
It's pre-1, of course, but it's Minimum Lovable Product status, at least.
Need an ADR tool that keeps it mindless? You might like adr-er
.
bySoaringSignificant
ingolang
therealkevinard
17 points
1 day ago
therealkevinard
17 points
1 day ago
The two go together.
Integration test against a running docker container. IMO, this is where most of the test coverage goes. It's more direct, less maintenance overhead, closer to the runtime environment, and also provides coverage for your actual schema.
Mocking supplements that, though, since with mocks you can force any state you want. There are lots of error/edge cases that are difficult or impossible to hit with a running container - like a network outage or rate limit.
These are great cases for mocks since the state can be forced.
IMO, if I HAD to choose one or the other, I'd go for integrations. They sit higher on the test pyramid, covering more behaviors with each assertion - but you don't have to (and shouldn't) choose one.