4 ms·
"Unit" and "Integration" (and E2E) are the most bullshit "technical" terms we have to deal with on a regular basis as an industry. At best, they can only tell y
by mixedCase 3y ago
"Unit" and "Integration" (and E2E) are the most bullshit "technical" terms we have to deal with on a regular basis as an industry. At best, they can only tell you that integration tests are on average more liberal in their use of system calls than unit tests, that is if the codebase in question even has both.
While this dev you encountered might have had no idea what they were doing, a most charitable explanation is that they may subscribe to the idea that the "unit" is a business usecase within a single service (often a 1:1 correspondence with an endpoint, but sometimes even more than one, e.g. a form upload with a separate signed upload step to a 3rd party service).
FWIW the concept of small/medium/large as presented in the Google testing blog is a much more useful denomination.
- D13Fd 3y agoIsn’t it just that unit tests a component of the software, and integration tests the software as a whole?
- mixedCase 3y agoThat is one interpretation. An interpretation that, once we start thinking beyond the first concept that comes to each particular mind, ends up just as meaningless: What is a component? A global variable, a pure function, a procedure, an endpoint, a business usecase, a microservice, a microservice fleet? What is the whole, if not the same list of questions just asked in backwards order? It gets worse: Once you arbitrarily come up with one definition that you stick with in your project, does the definition you chose leave little to no room for interpretation? Do all kinds of tests that are worth writing fit neatly within those definitions? Technical terms that are so loosely defined we can do without, for only two things ultimately result from their use: Apathy, or madness.