|
|
|
|
|
by nfrbc
2519 days ago
|
|
I had all three of the things you described. But let me add a new one to the list that was incredibly frustrating: 4. Instead of integration tests (or static typing), all systems made by a couple programmers only had unit tests. The call boundary was NEVER tested, and everything relied on RSpec's "allow(obj).to receive" mocking. So, not only it was very difficult to refactor (because I had to change two or more different sets of tests + mocks), the tests for dependencies didn't fail when I changed function signatures, or even if I removed chunks of code randomly. I had to find which test to change by myself. In the end we had tests and we had coverage, but they didn't test anything properly and made maintenance a major pain in the ass. |
|