Thanks for the informative and encouraging article.
Near the end of the article you mention a way to avoid mocking. You say, “Instead you can construct your modules to accept an interface of dependencies”
Could you expand a bit more on that thought? What did the code look like before adding that function? What does the calling code look like? Do you have a repo with a working example?