I usually do both. I like having unit tests that test individual function that describe functionality. But I also like to have tests that ensure everything works as intended ones you throw everything together.
To be clear, you test individual functions handler uses, and to test the handlers themselves, you opt to test the whole stack as described in the article?
I test the whole stack to ensure things work as intended when all put together. But I also write very isolated unit tests. I usually have them in separate test suites so I can choose which ones to run