3 ms·
This is what we did at my last job. You can catch DB specific issues that a false implementation wouldn’t show and make sure all your code paths work as expecte
by MBCook 4y ago
This is what we did at my last job. You can catch DB specific issues that a false implementation wouldn’t show and make sure all your code paths work as expected.
Every time new issues cropped up we would put new data in the test data designed to reproduce it. Every edge case we would run into.
It provided so much confidence because it would catch and trigger so many edge cases that testing with mocks or by hand would miss.
Edit: also, it’s great for test/dev environments. You don’t have to worry about losing important data or filling new environments with data. Just start with the full test data and you’re good to go. It’s got stuff for all the corner cases already. Something got screwed up? Blow it away and reload, it’s not precious.
- jdc0589 4y agosame here. every backend service with a sql datastore runs an real ephemeral db instance during CI, runs the normal migrations against it, and uses it for tests of the direct data access/persistence code. everything else in the service with a dependency on the data-access stuff gets a mocked version, but testing the actual data access code against a real datasource is non-negotiable IMO.
- fatneckbeard 4y agothats a huge amount of work and money. at my company they just told us to stop reporting edge cases. much easier, much cheaper.
- nicoburns 4y agoIt’s not that much work
- organsnyder 4y agoEspecially in the long-run.
- fatneckbeard 4y agoits a joke people im trying to humorize the bureaucratic existence that most of humanity lives under.
- justinclift 4y agoSounds like a place that's not really interested in solving customer needs. :( Most places aren't like that, at least the ones I've seen. :)
- fatneckbeard 4y agoim not saying its right im just saying thats how it is, apparently i shouldnt joke about that stuff because i was downvoted to minus three. our website crashes when the user types a double space. their solution is to have us tell users to stop typing in double spaces. since it only happens a few times a month its not considered a high priority. (details have been edited to protect the innocent)
- acheton 4y agoWe did something similar, being a small company we used batch files (checked into source control) to run database migrations on the different platforms we supported. Most database platforms have command line tools, although you need to be careful as there can be subtle differences in behaviour between the command line tools & those running with a UI.