this post was submitted on 24 Dec 2023
298 points (97.8% liked)
Fediverse
28523 readers
296 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Am I little naive in wondering how this isn't caught in unit, integration and E2E tests?
Edit: looks more involved than that, but it forced me to dig into how some of the components are tested. Educational.
The main Lemmy developers very often don't have the biggest clue of what they're doing, and they've proven that time and time again. A lot of times they forget normal web practices and rules, and a lot of side things like Jerboa are also just broken.
They also don't know how to interact with the community or how to be normal people. Let's not forget they have been working on Lemmy full-time and this is the state we've come to, ignoring all the database and security and everything else issues they already had.
😂😂 I got downvoted for that. I guess people dislike writing tests.
Personally I dislike writing useless tests. I use test as a development tool (it's easier to implement some DB operations for example by writing tests than performing some actions manually) and to test logic that can actually fail because of changes in other part of the code withouts me noticing. Testing thinks like "button calls click() method when clicked" is IMHO pointless. If someone can change this code and push to prod without testings manually or doing code review they can also disable the test without anyone noticing.
I agree, writing meaningless tests helps nobody and just creates extra work everyone. Unit tests should prove functionality and integration tests act as a vise. Much like you said, if a test breaks in that scenario, then you know something in another class has violated that contract. Good tests will have meaningful names and prove functionality, especially in the backend where it is especially important..
You mention (what I would consider) a bad practice of allowing merges without review. While that should be possible on personal projects with only one dev, strict review guidelines should exist so that nobody can just "push to prod". CICD is your friend - use it so that staging and prod never break. Again, I'm used to working on systems used by scores of millions of users so I appreciate forced automated validation. Nobody likes dumb breaks on a Friday before vacation.