It’s an amazing experience to read a tech article in the Medium that is not soft in the head.
If you organize your tests in this manner, they will guide your code design by guaranteeing 100% decoupling. That’s the absolute best thing…
It’s an amazing experience to read a tech article in the Medium that is not soft in the head. After perusing countless articles of questionable quality published here in the Medium, I finally stumble upon a high quality one! Again, I’m amazed. And at the same time must reinforce your most important point — do not attempt to test the environment! The real value of TDD lies in testing business logic only, independent of the envronment. What do we mean by environment? Any delivery channels, any operational interfaces, any persistence channels. In short, no disk or screen IO, no network. Your code that governs the business logic must execute in memory only, and then pass only resulting values to the computing environment (i.e. delivery channels).
If you organize your tests in this manner, they will guide your code design by guaranteeing 100% decoupling. That’s the absolute best thing that can happen on any software project, regardless how big or small it may be.