Eh, I don't entirely agree though I do realize it's important to draw the line somewhere so I guess that's where it's at.
What's your opinion and/or experience on the subject? 🙂 Why don't you agree? 🤔
I guess, I'm a fan of low-level logic testing. ie. testing the nitty gritty implementation details as well as the high-level logic. But I think that has to do with programming style.
I'm generally a fan of building very small light-weight libraries/bags of functions that build on each other and I generally love testing from the ground up based on that. Eg. functions -> internal library -> business logic -> actual API
For example, at my job, we built our internal API in Elixir and it has a fairly high test coverage but what's interesting is the "levels" of abstractions at which we test:
Generally speaking, the only functions that are ever "private" tend to be wrappers that call another helper/model/query/etc. that already have test coverage.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.